2012-08-11 66 views
0

如今许多网站都包含一些由ajax加载的内容(例如,某些视频网站的评论)。通常我们无法抓取这些数据,而我们得到的只是一些js源代码。所以这里有一个问题:在我们获得html响应并进入我们想要的最终页面后,我们可以通过哪些方式执行javascript代码?由ajax加载的抓取内容

我知道HtmlUnit有执行背景js的能力,但还是有一些错误和错误。还有其他工具可以帮助我吗?

有人告诉我,我可以抓取ajax请求url,分析它的参数并再次发送请求以获取数据。如果事情不能按照我上面提到的方式工作,任何人都可以告诉我如何提取ajax url并以正确格式发送请求?

顺便说一句,如果语言是Java,这将是最好的

+0

修改浏览器/为浏览器写一个附加组件来为你完成这项工作。难道... – nhahtdh 2012-08-11 13:11:17

+0

使用webkit核心获得最终的dom树可能在技术上是可行的,但它太难了=。=还有其他解决方案吗? – firstprayer 2012-08-12 02:19:18

+0

我这么认为。你可以使用[selenium](http://docs.seleniumhq.org/)吗? – 2014-04-17 19:10:38

回答

0

是,Netwoof可以轻松抓取阿贾克斯。它的API和bot构建器可以让你在没有代码的情况下执行它。

0

这就是HTTP的伟大的事情,你甚至不需要Java。我用于调试AJAX的goto工具是Chrome扩展Postman。我首先查看chrome调试器中的请求并确定显着位(url或表格编码的参数等)

然后它可以像在邮件服务器上打开选项卡和启动请求一样简单。只要它在同一个浏览器环境下,所有的cookies(用于认证等)也将随之发货。