1---
2title: Parse RSS feeds with Lua
3url: parse-rss-with-lua.html
4date: 2023-05-23T12:00:00+02:00
5type: note
6draft: false
7---
8
9Example of parsing RSS feeds with Lua. Before running the script install:
10
11- feedparser with `luarocks install feedparser`
12- luasocket with `luarocks install luasocket`
13
14```lua
15local http = require("socket.http")
16local feedparser = require("feedparser")
17
18local feed_url = "https://mitjafelicijan.com/index.xml"
19
20local response, status, _ = http.request(feed_url)
21if status == 200 then
22 local parsed = feedparser.parse(response)
23
24 -- Print out feed details.
25 print("> Title ", parsed.feed.title)
26 print("> Author ", parsed.feed.author)
27 print("> ID ", parsed.feed.id)
28 print("> Entries ", #parsed.entries)
29
30 for _, item in ipairs(parsed.entries) do
31 print("GUID ", item.guid)
32 print("Title ", item.title)
33 print("Link ", item.link)
34 print("Summary ", item.summary)
35 end
36else
37 print("! Request failed. Status:", status)
38end
39```