Ruby机械化解析元标记
问题描述:
我正在使用机械化来抓取一堆网页,并且遇到元标记时遇到问题。Ruby机械化解析元标记
<meta property="og:longitude" content="-74.0100365">
<meta property="og:latitude" content="40.7199929">
我想要得到的og:longitude
和og: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
因为它的属性你想要的,不是文本内容。
很好用。谢谢! – sybohy
它以前工作,但现在它给错误“*** NoMethodError异常:未定义的方法'[]'为零:NilClass” – Dusht