我使用JSOUP进行抓取,并且它的工作完美,直到ajax和javascript没有播放他们的角色来显示网页内容。
现在大家有任何线索,如何在页面完全加载后抓取用ajax或JavaScript显示的内容。
提前致谢!!
答案 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是您想要使用的浏览器引擎)应该会出现一些有用的项目。