我读过Nokogiri/Machialize(Ruby)不擅长遍历多个页面,但可能更适合使用Ajax的网站。
我想要抓取的网站是多页表单,带有一些ajax覆盖。速度很重要。这些网站都显示价格,所以我正在做一个价格聚合器。
我将Capybara与Webkit一起用于无头浏览器。
你需要安装水豚宝石,以及webkit宝石。
https://github.com/thoughtbot/capybara-webkit
语法非常简单。
agent.visit 'some url'
agent.execute_script 'javascript here'
gem还具有页面管理功能,或者您可以简单地通过执行返回的javascript返回到上一个页面。
ag.execute_script("window.history.go(-1)")