This is an old revision of the document!


1/ Exploiter les flux AIRAISSESESSE

Ici, nous allons exploiter les syndications des advisories FreeBSD, et nous en afficherons qu'un nombre prédéfinis :

#!/usr/bin/env ruby
#
#
# Copyright (c) 2007
#      sbz <sbz@gcu.info>.  All rights reserved.
#
# Under BSD Licence. 
 
require 'net/http'
require 'rexml/document'
include REXML
 
rss = "http://www.freebsd.org/security/advisories.rdf"
 
syndication_number = 10
i = 0;
 
resp, feeds = Net::HTTP.new(rss[7,15].to_s,80).get(rss[23,25],nil)
if resp.message != 'OK'
  puts "Can't fetch rss datas from #{rss}"
else
doc = Document.new feeds
end
 
root = doc.root
#
# parse rss xml structure
# <channel>
#   <title>blabla</title>
#   <link>http://blabla</link>
#   <description>blabla</description>
# </channel>
#
# <item>
#   <title>blabla</title>
#   <link>http://blabla<link>
# </item>
#
 
puts root.elements["channel"].elements["title"].text + ' ' +
root.elements["channel"].elements["link"].text + ' ' +
root.elements["channel"].elements["description"].text
 
root.each_element('//item') { |e|
if i > syndication_number
  break
else
  i += 1
  puts "#{i} - " + e.elements["title"].text + ' ' + e.elements["link"].text
end
}

Je vous laisse le soin d'aller plus loin en vous référant aux documentations suivantes :

Enjoy the AIRESSESSE life lutin

codaz/perl/ruby.1263302989.txt.gz · Last modified: 2012/11/24 20:12 (external edit)