我想抓取本网站的一些页面:Marketbook.ca
所以我用于那个 Mechanize 。但它不能正确加载页面。它返回一个空页面,如下面的代码所示:
require 'mechanize'
agent = Mechanize.new
agent.user_agent_alias = 'Linux Firefox'
agent.get('http://www.marketbook.ca/list/list.aspx?ETID=1&catid=1001&LP=MAT&units=imperial')
这里可能有什么问题?
最佳答案
其实这个页面需要JS引擎来显示内容:
<noscript>Please enable JavaScript to view the page content.</noscript>
Mechanize 不处理带有 JS 的页面,因此您最好选择其他选项,例如 Selenium或 WATIR .两者都需要一个真正的网络浏览器来操作。
您的另一个选择是查看包含的 JS 脚本并找出数据的来源,并在可能的情况下查询该 Web 资源。
关于ruby - Mechanize 无法正确加载页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22743435/