ruby - Mechanize 无法正确加载页面

标签 ruby web-scraping mechanize

我想抓取本网站的一些页面: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 的页面,因此您最好选择其他选项,例如 SeleniumWATIR .两者都需要一个真正的网络浏览器来操作。

您的另一个选择是查看包含的 JS 脚本并找出数据的来源,并在可能的情况下查询该 Web 资源。

关于ruby - Mechanize 无法正确加载页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22743435/

相关文章:

python - 使用 Beautiful Soup 访问 javascript 文本

Python 美汤 : Target a particular element

javascript - 使用 Mechanize 单击带有 onclick ="return somejsfunction()"的按钮

Python 类型错误

ruby-on-rails - 我可以在 gem 中仅从文件中获取一次数据吗?类似于 Rails 中的配置/初始化器?

ruby-on-rails - 泛型示例问题

jquery - 如果没有可用数据,rails3-jquery-autocomplete 清除字段

python - 网页抓取 - Selenium BeautifulSoup - 循环分页

ruby - 将 "a/b/c"转换为 ["a/b/c"、 "a/b"、 "a"的最简单方法]

python - 使用 Mechanize 浏览器python查找静态字段的动态文本值