Ruby: Utilizando Open-URI e HPricot para descobrir sorteios realizados no sorteie.me

Posted by Luiz Carvalho | Posted in Artigos, Desenvolvimento | Posted on 28-10-2010-05-2008

1

class VerificadorSorteieme
 require 'net/http'
 require 'uri'
 require 'rubygems'
 require 'hpricot'
 require 'pp'
 require 'string_pred'
 def initialize(url,de=10,ate=10)
 @url = url
 @de = de
 @ate = ate

 @resultado = {"atual"=>[],"anteriores"=>[],"proximos"=>[]}
 @URL_BASE = "http://sorteie.me/"
 end

#Com esse método podemos avançar e regredir em URL criadas pelo Sorteie.me e assim descobrir outros sorteios na sequência
#transparecendo assim outros ersultados que podem ser da mesma promoção.
#deve ser passado o final da URL (EX: para: http://sorteie.me/1j8W parametro: 1j8W)
#
 def request_sorteios #EX: 1j8W
 @resultado["atual"] = catcher_html(@url)
 #pros_url_for
 ant_url_for
 @resultado
 end

 def pros_url_for
 nurl = @url.clone
 @ate.times do
 @resultado["proximos"] << catcher_html(nurl.next!)
 end
 end

 def ant_url_for
 purl = @url.clone
 @de.times do
 @resultado["anteriores"] << catcher_html(purl.pred!)
 end
 end

 def catcher_html(url)
 complete_url = "#{@URL_BASE}#{url}"
 html = Net::HTTP.get(URI.parse(complete_url))
 doc = Hpricot(html)
 {:vencedor=>doc.search("//div[@id='box']/ol/li/a").inner_html,:mensagem=> doc.search("//p[@class='note']").inner_html,:url=>complete_url}
 end

end



Related Posts Plugin for WordPress, Blogger...
Be Sociable, Share!

Comments posted (1)

[...] This post was mentioned on Twitter by Luiz Carvalho, Demora Cristine, L. A.Araujo Carvalho, Mano Fortaleza dos N, L Araújo and others. L Araújo said: http://bit.ly/redrails_post837 – Ruby: Utilizando Open-URI e HPricot para descobrir sorteios realizados no sorteie.me [...]

Write a comment