Wrap text
Report abuse
|
|
require 'rubygems'
require 'eventmachine'
require 'hpricot'
module ThirdParty
class Collect
attr_accessor :response, :status, :hpricot
def initialize(server,page)
@reponse = nil
@status = nil
@hpricot = nil
@page = page
@server = server
get
end
def get
EM.run do
http = EM::P::HttpClient2.connect @server, 80
d = http.get @page
d.callback {
@response = d.content
@status = d.status
p @status
EM.stop
}
end
doc = Hpricot.XML(@response)
@hpricot = doc
end
end
class News
attr_accessor :headlines
def initialize(server, page)
doc = Collect.new(server,page).hpricot
@headlines = []
(doc/:entry).each {|it|
@headlines << (it/:title).inner_text
}
end
end
end
puts ThirdParty::News.new("news.google.com","/news?hl&output=atom").headlines
|