如何使用Java在HTML中查找URL

Sai*_*ios 1 java string search web-crawler

我有以下......我不会说问题,但情况.

我有一些HTML标签和一切.我想在HTML中搜索每个URL.我现在通过检查"h"然后"t"然后"t"然后"p"的位置来做,但我认为这不是一个很好的解决方案

有什么好主意吗?


补充:我正在寻找某种伪代码,但为了以防万一,我特别使用Java来完成这个项目

bak*_*kal 5

尝试使用HTML解析库,然后<a>在HTML文档中搜索标记.

Document doc = Jsoup.parse(input, "UTF-8", "http://example.com/");
Elements links = doc.select("a[href]"); // a with href
Run Code Online (Sandbox Code Playgroud)

并非所有网址都在标签中,有些是文字,有些是链接或其他标签

您不应扫描HTML源代码来实现此目的.

您最终会得到不一定位于页面"文本"中的链接元素,例如,您最终可能会在页面中找到JS脚本的"链接".

最好的方法仍然是你使用为工作制作的工具.

你应该抓住HTML标签和覆盖最有可能的人有他们内部的"链接"(比如:<h1>,<p>,<div>等).HTML解析器提供类似正则表达式的功能来过滤标签的内容,类似于"以HTTP开头"的逻辑.

[attr^=value],[attr$=value], [attr*=value]:用与启动属性,以结束,或包含所述的值,例如元素 select("[href*=/path/]")

见:jSoup.