Sai*_*ios 1 java string search web-crawler
我有以下......我不会说问题,但情况.
我有一些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
Run Code Online (Sandbox Code Playgroud)
并非所有网址都在标签中,有些是文字,有些是链接或其他标签
您不应扫描HTML源代码来实现此目的.
您最终会得到不一定位于页面"文本"中的链接元素,例如,您最终可能会在页面中找到JS脚本的"链接".
最好的方法仍然是你使用为工作制作的工具.
你应该抓住HTML标签和覆盖最有可能的人有他们内部的"链接"(比如:<h1>
,<p>
,<div>
等).HTML解析器提供类似正则表达式的功能来过滤标签的内容,类似于"以HTTP开头"的逻辑.
[attr^=value]
,[attr$=value]
,[attr*=value]:
用与启动属性,以结束,或包含所述的值,例如元素select("[href*=/path/]")
见:jSoup.