aboutsummaryrefslogtreecommitdiff
path: root/content/notes/2023-05-23-parse-rss-with-lua.md
diff options
context:
space:
mode:
Diffstat (limited to 'content/notes/2023-05-23-parse-rss-with-lua.md')
-rw-r--r--content/notes/2023-05-23-parse-rss-with-lua.md40
1 files changed, 0 insertions, 40 deletions
diff --git a/content/notes/2023-05-23-parse-rss-with-lua.md b/content/notes/2023-05-23-parse-rss-with-lua.md
deleted file mode 100644
index ecd33d5..0000000
--- a/content/notes/2023-05-23-parse-rss-with-lua.md
+++ /dev/null
@@ -1,40 +0,0 @@
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
7tags: [lua, rss]
8---
9
10Example of parsing RSS feeds with Lua. Before running the script install:
11
12- feedparser with `luarocks install feedparser`
13- luasocket with `luarocks install luasocket`
14
15```lua
16local http = require("socket.http")
17local feedparser = require("feedparser")
18
19local feed_url = "https://mitjafelicijan.com/index.xml"
20
21local response, status, _ = http.request(feed_url)
22if status == 200 then
23 local parsed = feedparser.parse(response)
24
25 -- Print out feed details.
26 print("> Title ", parsed.feed.title)
27 print("> Author ", parsed.feed.author)
28 print("> ID ", parsed.feed.id)
29 print("> Entries ", #parsed.entries)
30
31 for _, item in ipairs(parsed.entries) do
32 print("GUID ", item.guid)
33 print("Title ", item.title)
34 print("Link ", item.link)
35 print("Summary ", item.summary)
36 end
37else
38 print("! Request failed. Status:", status)
39end
40```