hyperlink - Jsoup 获取页面中的所有链接

标签 hyperlink jsoup

我正在实现一个网络机器人,它必须从页面中获取所有链接并选择所需的链接。除了我遇到一个链接在“表”或“跨度”标签内的问题外,我一切都在工作。
这是我的代码片段:

Document doc = Jsoup.connect(url)
    .timeout(TIMEOUT * 1000)
    .get();
Elements elts = doc.getElementsByTag("a");

这是示例 HTML:
<table>
  <tr><td><a href="www.example.com"></a></td></tr>
</table>

我的代码不会获取此类链接。使用 doc.select 也无济于事。我的问题是,如何从页面中获取所有链接?

编辑:我想我知道问题出在哪里。我遇到问题的页面写得很糟糕,HTML 验证器抛出了大量错误。这会导致问题吗?

最佳答案

一般来说,Jsoup 可以处理最糟糕的 HTML。在 JSoup 使用它时转储 HTML(您可以简单地输出 doc.toString())。

提示 :使用 select()而不是 getElementsByX() ,它更快,更灵活。
Elements elts = doc.select("a"); (编辑)

以下是有关 Selector-API 的概述:http://jsoup.org/cookbook/extracting-data/selector-syntax

关于hyperlink - Jsoup 获取页面中的所有链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12526979/

相关文章:

silverlight - 在 Silverlight 中使用 HyperlinkBut​​ton 时新浏览器中的 Cookie

HTML 图像扩展更远并阻止链接

php - 更改 WordPress 中的 URL : Absolute links

java - 如何在 jsoup 解析中保留大小写?

java - JSoup 未完全渲染长页面

java - 从页面的无元素部分提取文本

windows - 如何在 Windows 上的 Windows 资源管理器中打开 ftp 链接?

jquery-mobile - 没有 ajax 的 jQuery Mobile anchor 链接无法加载

java - HTML 结构因输入而异

java - Jsoup 与 JavaScript 相关的网页?