如何使用jsoup刮取ajax加载的内容

时间:2013-05-31 08:08:00

标签: java jsoup scrape

我使用JSOUP进行抓取,并且它的工作完美,直到ajax和javascript没有播放他们的角色来显示网页内容。

现在大家有任何线索,如何在页面完全加载后抓取用ajax或JavaScript显示的内容。

提前致谢!!

2 个答案:

答案 0 :(得分:3)

您可以将无头浏览器用作PhatomJS

  

PhantomJS是一个带有JavaScript API的无头WebKit脚本。它具有对各种Web标准的快速和本机支持:DOM处理,CSS选择器,JSON,Canvas和SVG。

为了方便您的工作,您可以使用CapserJS

  

CasperJS是PhatomJS的配套产品,它带来了大大改进的API,可以轻松创建抓取和自动化工作流程。

当您必须使用动态内容抓取网站时,这些工具非常有用,例如,在Javascript中运行流程后显示内容的网站(有时包括ajax调用)。

你可以看到一个关于casper如何工作的例子:
CasperJs and Jquery with chained Selects

答案 1 :(得分:1)

你无法直接使用JSoup。你需要一个无头浏览器,这是一个复杂得多的事情。有无头版本的Firefox,Safari和其他版本。搜索“headless X”(其中X是您想要使用的浏览器引擎)应该会出现一些有用的项目。