3

我正在尝试构建一个非常基本的爬虫,它可以通过某些特定链接移动并从中提取内容。我正在使用 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 不会更改)?

供您参考这里是一个这样的页面的链接。浏览多个页面的链接位于页面的右下角。

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

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

谢谢

4

1 回答 1

1

我从未使用过 jsoup,但从它的描述(它是 HTML 解析器)以及您尝试以某种方式将 javascript 合并到其中的事实来看,这告诉我您选择了错误的工具来完成这项工作。

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

于 2012-12-05T11:59:03.150 回答