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```