Using Cameleon RSS Feed Parser
Looking for a way to parse RSS (or ATOM) feeds with OCaml, I performed a Google search on "ocaml rss":
Installing on Ubuntu/Debian
I assume the user has all de basic OCaml installation. Installing the RSS feed parser requires:
sudo apt-get install libcameleon-ocaml-dev cameleon
Getting a sample RSS file
Let's get the RSS2 file of OCamlCore:
wget http://planet.ocamlcore.org/rss20.xmlThe file is saved as "rss20.xml" use the -O option of wget if you want another saving name.
Using it in the toplevel
The user needs to load several modules:
Objective Caml version 3.11.2 #use "topfind" ;; #require "unix" ;; #require "cameleon" ;; #require "cameleon.config_file" ;; #require "cameleon.configwin" ;; #require "cameleon.ffind" ;; #require "cameleon.gdir" ;; #require "cameleon.gmylist" ;; #require "cameleon.gstuff" ;; #require "cameleon.okey" ;; #require "cameleon.report" ;; #load "/usr/lib/ocaml/cameleon/rss.cma";;Load the XML RSS file (Pretty Long output)
let my_channel = Rss.channel_of_file "rss20.xml";;Get the list of items (Pretty Long output)
let items = my_channel.Rss.ch_items);;Grab the first item
List.hd items;;Get the title of that first item
Please note that it is a quick and dirty way to do it, the reader is encouraged to suggest cleaner ways by commenting this post.