use*_*661 5 ruby open-uri nokogiri
我试图通过在Chrome中查看其HTML并使用Nokogiri获取数据来搜索网站.问题是某些标签是动态生成的,并且在使用open-uri时它们不会出现open(url)请求.有没有办法"强制"一个网站动态生成其内容的工具,如打开uri阅读?
如果通过 open-uri 读取它没有生成您需要的内容,那么客户端很可能正在使用 Javascript 生成内容。
这可能是个好消息 - 通过检查页面发出的 AJAX 请求,您可能会找到您正在查找的内容的 JSON 提要,然后您可以直接请求和解析该内容。这将为您提供数据,而无需挖掘 HTML - 方便!
但是,如果由于某种原因这不起作用,您将需要使用某种浏览器打开页面,让它执行其客户端 Javascript,然后将生成的 DOM 转储为 HTML。像PhantomJS这样的东西是此类工作的绝佳选择。