2012-09-24 49 views
3

我正在使用機械化來抓取一堆網頁,並且遇到元標記時遇到問題。Ruby機械化解析元標記

<meta property="og:longitude" content="-74.0100365"> 
<meta property="og:latitude" content="40.7199929"> 

我想要得到的og:longitudeog:latitude參數。我試過的東西沒有工作,可能是因爲這個頁面是動態加載的或者什麼的。這是我目前使用的代碼:

a = Mechanize.new { |agent| 
    agent.user_agent_alias = 'Mac Safari' 
} 

a.get(some_web_page) do |page| 
    puts page.search("latitude").first.text 
    puts page.search("longitude").first.text 
end 

回答

6

這將是:

page.at('meta[property="og:longitude"]')[:content] 
page.at('meta[property="og:latitude"]')[:content] 

:content因爲它的屬性你想要的,不是文本內容。

+0

很好用。謝謝! – sybohy

+1

它以前工作,但現在它給錯誤「*** NoMethodError異常:未定義的方法'[]'爲零:NilClass」 – Dusht