如何用jsoup刮掉ajax加载的内容

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

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

提前致谢 !!

您可以使用无头浏览器作为PhatomJS 。

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

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

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

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

您可以在此处查看有关casper如何工作的示例:
CasperJs和Jquery用链式选择

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