LogicMachine Forum
RSS feed - Printable Version

+- LogicMachine Forum (https://forum.logicmachine.net)
+-- Forum: LogicMachine eco-system (https://forum.logicmachine.net/forumdisplay.php?fid=1)
+--- Forum: OLD visualization (https://forum.logicmachine.net/forumdisplay.php?fid=9)
+--- Thread: RSS feed (/showthread.php?tid=1181)



RSS feed - Daponte - 19.01.2018

Hi,

I need to read the following RSS news link https://www.20minutos.es/rss/ourense/
and represent in visualization, can someone help me?



RE: RSS feed - Toms - 22.01.2018

(19.01.2018, 08:10)Daponte Wrote: Hi,

I need to read the following RSS news link https://www.20minutos.es/rss/ourense/
and represent in visualization, can someone help me?

Hi Daponte,


this one works for us 

Code:
require('socket.http') socket.http.TIMEOUT = 15 local data = socket.http.request('http://www.rtlnieuws.nl/service/rss/nederland/index.xml') --log(data) itemtag = false result = {} -- callback for tag start � -- create new storage in result table for each <item> tag function starttag(parser, tag)  if tag == 'item' then    itemtag = true    table.insert(result, {})  end  currtag = tag end -- callback for tag end function endtag(p, tag)  if tag == 'item' then    itemtag = false  end  currtag = nil end -- callback for character data function cdata(parser, text)-- check if parser is inside of <item> and either in <title> or <description>  if itemtag and currtag then    if currtag == 'title' then      result[ #result ].title = text    elseif currtag == 'description' then      result[ #result ].description = text    end  end end -- create parser lxp = require('lxp') parser = lxp.new({    StartElement = starttag,  EndElement = endtag,    CharacterData = cdata,  }) -- sample data ldata = [[ <?xml version="1.0" encoding="UTF-8" ?> <rss version="2.0"> <channel> <title>RSS Title</title> <description>This is an example of an RSS feed</description> <link>http://www.example.com/main.html</link> <lastBuildDate>Mon, 06 Sep 2010 00:01:00 +0000 </lastBuildDate> <pubDate>Sun, 06 Sep 2009 16:20:00 +0000</pubDate> <ttl>1800</ttl> <item> � <title>Example entry</title> � <description>Here is some text containing an interesting description.</description> � <link>http://www.example.com/blog/post/1</link> � <guid isPermaLink="true">7bd204c6-1655-4c27-aeee-53f933c5395f</guid> � <pubDate>Sun, 06 Sep 2009 16:20:00 +0000</pubDate> </item> <item> � <title>Another example entry</title> � <description>Here is some other text containing an interesting description.</description> � <link>http://www.example.com/blog/post/1</link> � <guid isPermaLink="true">7bd204c6-1655-4c27-aeee-53f933c5395f</guid> � <pubDate>Sun, 06 Sep 2009 16:20:00 +0000</pubDate> </item> </channel> </rss> ]] if parser:parse(data) then --log(result) else  log('parse failed') end if true == true then  grp.update('6/1/11', (result[1].title))  os.sleep(4)  grp.update('6/1/11', (result[1].description))  os.sleep(9)  grp.update('6/1/11', (result[2].title))  os.sleep(4)  grp.update('6/1/11', (result[2].description))    os.sleep(9)  grp.update('6/1/11', (result[3].title))  os.sleep(4)  grp.update('6/1/11', (result[3].description))  os.sleep(9)  grp.update('6/1/11', (result[4].title))  os.sleep(4)  grp.update('6/1/11', (result[4].description))  os.sleep(9)  grp.update('6/1/11', (result[5].title))  os.sleep(4)  grp.update('6/1/11', (result[5].description)) end



RE: RSS feed - Daponte - 22.01.2018

(22.01.2018, 10:24)Toms thank you very much Wrote:
(19.01.2018, 08:10)Daponte Wrote: Hi,

I need to read the following RSS news link https://www.20minutos.es/rss/ourense/
and represent in visualization, can someone help me?

Hi Daponte,


this one works for us 

Code:
require('socket.http') socket.http.TIMEOUT = 15 local data = socket.http.request('http://www.rtlnieuws.nl/service/rss/nederland/index.xml') --log(data) itemtag = false result = {} -- callback for tag start � -- create new storage in result table for each <item> tag function starttag(parser, tag)  if tag == 'item' then    itemtag = true    table.insert(result, {})  end  currtag = tag end -- callback for tag end function endtag(p, tag)  if tag == 'item' then    itemtag = false  end  currtag = nil end -- callback for character data function cdata(parser, text)-- check if parser is inside of <item> and either in <title> or <description>  if itemtag and currtag then    if currtag == 'title' then      result[ #result ].title = text    elseif currtag == 'description' then      result[ #result ].description = text    end  end end -- create parser lxp = require('lxp') parser = lxp.new({    StartElement = starttag,  EndElement = endtag,    CharacterData = cdata,  }) -- sample data ldata = [[ <?xml version="1.0" encoding="UTF-8" ?> <rss version="2.0"> <channel> <title>RSS Title</title> <description>This is an example of an RSS feed</description> <link>http://www.example.com/main.html</link> <lastBuildDate>Mon, 06 Sep 2010 00:01:00 +0000 </lastBuildDate> <pubDate>Sun, 06 Sep 2009 16:20:00 +0000</pubDate> <ttl>1800</ttl> <item> � <title>Example entry</title> � <description>Here is some text containing an interesting description.</description> � <link>http://www.example.com/blog/post/1</link> � <guid isPermaLink="true">7bd204c6-1655-4c27-aeee-53f933c5395f</guid> � <pubDate>Sun, 06 Sep 2009 16:20:00 +0000</pubDate> </item> <item> � <title>Another example entry</title> � <description>Here is some other text containing an interesting description.</description> � <link>http://www.example.com/blog/post/1</link> � <guid isPermaLink="true">7bd204c6-1655-4c27-aeee-53f933c5395f</guid> � <pubDate>Sun, 06 Sep 2009 16:20:00 +0000</pubDate> </item> </channel> </rss> ]] if parser:parse(data) then --log(result) else  log('parse failed') end if true == true then  grp.update('6/1/11', (result[1].title))  os.sleep(4)  grp.update('6/1/11', (result[1].description))  os.sleep(9)  grp.update('6/1/11', (result[2].title))  os.sleep(4)  grp.update('6/1/11', (result[2].description))    os.sleep(9)  grp.update('6/1/11', (result[3].title))  os.sleep(4)  grp.update('6/1/11', (result[3].description))  os.sleep(9)  grp.update('6/1/11', (result[4].title))  os.sleep(4)  grp.update('6/1/11', (result[4].description))  os.sleep(9)  grp.update('6/1/11', (result[5].title))  os.sleep(4)  grp.update('6/1/11', (result[5].description)) end

thank you very much