通过 JavaScript 创建的链接获取内容

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接口,但我无法理解它的使用方法。

谢谢。

1个回答

1

我从未使用过jsoup,但根据它的描述(它是HTML解析器)以及您尝试将javascript与其某种程度地结合使用的事实来判断,这告诉我您选择了错误的工具。

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


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接