Ruby机械化解析元标记

问题描述:

我正在使用机械化来抓取一堆网页,并且遇到元标记时遇到问题。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 

这将是:

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

:content因为它的属性你想要的,不是文本内容。

+0

很好用。谢谢! – sybohy

+1

它以前工作,但现在它给错误“*** NoMethodError异常:未定义的方法'[]'为零:NilClass” – Dusht