2013-12-17 585 views
6

我是一个初学者抓取。我有要求从链接中获取帖子和评论。我想让这个过程自动化。我考虑使用webcrawler和jsoup,但被告知web爬行器主要用于深度更大的网站。抓取网页的内容(通过AJAX调用加载)

样的页面:牛仔社区网站

对于这个页面,当我查看该页面的源代码,我只能看到帖子,而不是评论。认为这是因为评论是通过对服务器的AJAX调用获取的。

因此,当我使用jsoup时,它不会获取评论。

那么我该如何自动化获取帖子和评论的过程呢?

+0

所有的评论是从jive数据库中加载的,没有隐藏的链接来获取评论的原始文本。应该有一个链接,我已经搜查(如果你knw Java脚本也许你可以knw他们从这里调用它:https://www.heylululemon.com/6.0.2.0/resources/scripts/gen/b0e45f40028721e48611c14803fef20d.js)被从网站调用来获得评论,但我没有看到。你有没有尝试过网页浏览功能。 – ImGeorge

+0

[Jsoup Java HTML解析器:执行javascript事件]的可能重复(http://stackoverflow.com/questions/7344258/jsoup-java-html-parser-executing-javascript-events) – Pshemo

回答

9

Jsoup is a html parser only。不幸的是,无法解析任何javascript/ajax内容,因为jsoup无法执行这些内容。

解决方案:使用可处理脚本的库。

下面是一些例子,我知道:

如果这样的库不支持解析或选择,你可以至少使用它们来让Html脱离脚本(w然后可以由jsoup解析)。

2

Jsoup不处理Javascript和Ajax,所以你需要使用Htmlunit或硒。 使用Htmlunit或任何您可以使用jsoup的任务的其余部分加载页面后。