aboutsummaryrefslogtreecommitdiff
path: root/content/notes/2023-05-23-parse-rss-with-lua.md
diff options
context:
space:
mode:
authorMitja Felicijan <m@mitjafelicijan.com>2023-07-16 22:46:06 +0200
committerMitja Felicijan <m@mitjafelicijan.com>2023-07-16 22:46:11 +0200
commit0cb6a5c81271a61e930505f3315b1d67bdf22724 (patch)
tree27df39e2004dda656f5e8ae09e9d4e6395d4f903 /content/notes/2023-05-23-parse-rss-with-lua.md
parent89b2019bfa3bd8f1f0ceb7724c492fdf337dd519 (diff)
downloadmitjafelicijan.com-0cb6a5c81271a61e930505f3315b1d67bdf22724.tar.gz
Renamed all the notes files to include date
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.md41
1 files changed, 41 insertions, 0 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
new file mode 100644
index 0000000..c2cdcbc
--- /dev/null
+++ b/content/notes/2023-05-23-parse-rss-with-lua.md
@@ -0,0 +1,41 @@
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/feed.rss"
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```
41