javascript - 帮助屏幕抓取/解析

标签 javascript html ajax parsing scrape

我一直在尝试从 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

https://github.com/chriso/node.io/wiki/Scraping

https://github.com/joshfire/node-crawler

关于javascript - 帮助屏幕抓取/解析,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6132223/

相关文章:

javascript - 单击按钮时显示/隐藏工具提示

javascript - 过滤掉广告系统的机器人和蜘蛛。封锁太过分了

php - 数据库更改记录中的页面刷新

javascript - 如何在不重新加载的情况下动态更改 URL?

Javascript。交换两个变量。怎么运行的?

javascript - 已知的 JavaScript 指令

javascript - 当专注于 iPhone 上的只读输入时,事件停止触发

html - Materialise CSS 卡片面板中的 Z-Index

javascript - 无法为特定的 ul 提供不同的 css 样式?

php - 根据已完成的搜索来搜索mysql数据库