2009-08-03 3 views

Antwort

4

Sie versuchen Hpricot und tun verwendet, könnten lesen so etwas wie :

doc = Hpricot(URI.parse("http://example.com/").read) 
(doc/'/html/head/meta') 
    #=> Elements[...] 
+0

Ja, hatte ich daran gedacht, ein Screen Scrape-Dienstprogramm, aber ich hatte gehofft, dass es eine integrierte in Ruby-Methode mit vielleicht HTTP war :: Net oder so etwas. Ich werde nur Nokogiri benutzen, da es bereits auf meinen Dev-Maschinen installiert ist. Danke – ErsatzRyan

2

Vielen Dank.

Es funktioniert für mich. Ich versuche, eine Beschreibung des Meta-Tags zu erhalten. mein Code wie

ist
def self.extract_description_from_url(url) 
    description = "" 
    doc = Hpricot(URI.parse(url).read) 
    (doc/'/html/head/meta').each do |meta| 
    val= meta.get_attribute('name') 
    if val == "description" 
     description = meta.get_attribute('content') 
    end 
    end 
    return description 
end 
+0

könnte auch schreiben: 'meta_desc = (doc/'/ html/head/meta') .find {| meta | meta.get_attribute ('name') == "description"}; Beschreibung = meta_desc.nil? : ""? meta_desc.get_attribute ('Inhalt') ' –