2009-08-03 47 views

回答

4

你可以嘗試使用Hpricot和做類似:

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

是啊,我曾想過使用屏幕抓取工具,但我一直希望有一個內置的Ruby法也許HTTP :: Net或東西。我將使用Nokogiri,因爲它已經安裝在我的開發機器上。謝謝 – ErsatzRyan 2009-08-03 17:36:51

2

非常感謝。

它適合我。我正在嘗試獲取元標記的描述。 我的代碼是一樣

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

也可以這樣寫:`meta_desc =(doc /'/ html/head/meta')。find {| meta | meta.get_attribute('name')==「description」}; description = meta_desc.nil? :「」? meta_desc.get_attribute( '內容')` – 2010-04-08 17:25:28

相關問題