OCaml RSS Feed Parser
By Mihamina Rakotomandimby on Wednesday 20 July 2011, 15:04 - ocaml - Permalink
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":
Here is how to begin to use it...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.xml
The 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
(List.hd items).Rss.item_title;;
Note
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.