获取JavaScript创建的链接的内容

时间:2012-12-05 11:07:23

标签: java javascript jsoup

我正在尝试构建一个非常简陋的爬虫,它可以通过某些特定链接并从中提取内容。我正在使用JSoup遍历页面上的链接并阅读所需内容。

但是我在其中一个网站遇到了障碍。它是一种新闻门户网站,允许用户发布自己的评论。我需要提取这些评论。但是,如果有超过5条注释,则它们分布在多个页面上,后续页面的链接由href中的JavaScript代码(而不是真实链接)创建。它是这样的:

<a id="pager1_lnkPage2" href="javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(&quot;pager1$lnkPage2&quot;, &quot;&quot;, true, &quot;&quot;, &quot;&quot;, false, true))">2</a>

现在我不知道如何遍历此JavaScript生成的链接。有没有办法在这些链接引用的页面上获取数据(从表面上看,这似乎不会创建任何新的链接,因为在我们浏览其他页面时URL不会改变)?

此处供您参考a link to one such page。浏览多个页面的链接位于页面的右下角。

这是嵌入在iframe中主要故事的页面上。

我在javax中也遇到了一个名为ScriptEngine的接口,但是我无法理解它在这里使用它。

由于

1 个答案:

答案 0 :(得分:1)

我从来没有使用过jsoup,但从它的描述(它是HTML解析器)判断,以及你试图以某种方式将javascript合并到其中的事实,告诉我你选择了错误的工具。

在您的情况下,我宁愿选择Zombie.js(基于Node.js)或Selenium。如果你想坚持使用Java(Selenium有基于Java的插件),后者可能是更好的选择。