我有以下问题......我不会说问题,而是情况。
我有一些带有标签和所有内容的 HTML。我想在 HTML 中搜索每个 URL。我现在通过检查“h”、“t”、“t”、“p”的位置来做到这一点,但我认为这不是一个很好的解决方案
有什么好主意吗?
补充:我正在寻找某种伪代码,但为了以防万一,我在这个项目中特别使用了 Java
尝试使用 HTML 解析库,然后搜索<a>
HTML 文档中的标签。
Document doc = Jsoup.parse(input, "UTF-8", "http://example.com/");
Elements links = doc.select("a[href]"); // a with href
并非所有网址都在标签中,有些是文本
有些在链接或其他标签中
您不应该扫描 HTML 源代码来实现此目的。
您最终会得到不一定在页面“文本”中的链接元素,即,例如,您可能会在页面中得到 JS 脚本的“链接”。
最好的方法仍然是使用专为该工作而设计的工具。
您应该抓取 HTML 标签并覆盖最有可能在其中包含“链接”的标签(例如:<h1>
, <p>
, <div>
ETC) 。 HTML 解析器提供类似正则表达式的过滤功能通过标签的内容,类似于“以 HTTP 开头”的逻辑。
[attr^=value]
, [attr$=value]
,
[attr*=value]:
元素与
开头、结尾的属性,
或包含值,例如select("[href*=/path/]")
See: jSoup.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)