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