我一直在尝试从 hostels.com 中抓取并最终解析一些数据(特别是可用性和价格),例如 http://www.hostels.com/hosteldetails.php/HostelNumber.11890 .问题是,一旦您选择了住宿天数并选择了“立即预订”,URL 字符串就不会传递任何内容(我相信这都是通过 Ajax 完成的)我无法直接转到特定的日期或时间范围。
我尝试过浏览器模拟器,例如 Selenium、IRobotSoft 和 FakeApp,尽管我确实让 Selenium 和 Fake 完成了大部分捕获完整源代码的工作,但在必须抓取(并用其他软件解析)时,它很难看而且仍然很乏味) 一天多页。
我还尝试过 HTML DOM Parser、PHP Scriptable Web Browser、HTMLUnit、cScrape.php、Crowbar。要么他们无法处理 Ajax,要么我什至没有运气让他们运行。
理想情况下,我想要一些可以从服务器运行的东西,尽可能少的依赖性,但在这一点上我只想让它运行。
现在,在花了很多时间试图让它工作之后。我仍然觉得我不确定从哪里开始。有人可以指出我正确的方向吗?我应该回去花更多时间在 HTMLUnit 上吗?对于这样的网站,最佳做法是什么?
谢谢
最佳答案
我真的很喜欢 Node.js atm(服务器端 javascript,以防你不熟悉),这就是我推荐的。使用它来抓取网站的妙处在于,您可以使用 jQuery 或任何您喜欢的 JS 框架来完成所有解析您想要的信息的工作!请参阅以下资源以开始使用:
http://blog.dtrejo.com/scraping-made-easy-with-jquery-and-selectorga
https://github.com/tmpvar/jsdom
关于javascript - 帮助屏幕抓取/解析,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6132223/