【问题标题】:Get the contents of the link created by JavaScript获取 JavaScript 创建的链接的内容
【发布时间】:2012-11-23 04:47:06
【问题描述】:

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

但是,我在其中一个网站上遇到了障碍。它是一种允许用户发布自己的 cmets 的新闻门户。我需要提取这些 cmets。但是,如果有超过 5 个 cmets,它们将分布在多个页面上,并且到后续页面的链接由 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 的接口,但我不能很好地理解它,无法在这里使用它。

谢谢

【问题讨论】:

    标签: java javascript jsoup


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-07-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-11-25
      • 2013-10-30
      • 2012-09-06
      相关资源
      最近更新 更多