Ruby Mechanize解析元标记

syb*_*ohy 3 ruby mechanize web-crawler html-parsing nokogiri

我正在使用Mechanize来抓取一堆网页,而我在使用meta标签时遇到了麻烦.

<meta property="og:longitude" content="-74.0100365">
<meta property="og:latitude" content="40.7199929">
Run Code Online (Sandbox Code Playgroud)

我想得到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
Run Code Online (Sandbox Code Playgroud)

pgu*_*rio 6

这将是:

page.at('meta[property="og:longitude"]')[:content]
page.at('meta[property="og:latitude"]')[:content]
Run Code Online (Sandbox Code Playgroud)

请注意,:content因为它是您想要的内容属性,而不是文本.