2009-08-03 7 views

Répondre

4

Vous pouvez essayer d'utiliser Hpricot et faire quelque chose comme :

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

Oui, je l'avais pensé à utiliser un utilitaire grattez l'écran, mais j'espérais qu'il y avait une méthode construite en Ruby avec peut-être HTTP :: Net ou quelque chose. Je vais juste utiliser Nokogiri puisqu'il est déjà installé sur mes machines dev. Merci – ErsatzRyan

2

Merci beaucoup.

Cela fonctionne pour moi. J'essaie d'obtenir une méta-balise de description. mon code est comme

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

pourrait également écrire: 'meta_desc = (doc/'/ html/tête/meta'). Find {| meta | meta.get_attribute ('nom') == "description"}; description = méta_desc.nil? : ""? meta_desc.get_attribute ('content') ' –