仅打印绝对 URL
Posted
技术标签:
【中文标题】仅打印绝对 URL【英文标题】:Print only absolute URLs 【发布时间】:2014-03-07 06:16:29 【问题描述】:我编写了一个简单的 Java Web Crawler,它允许用户输入任何网页,它会搜索整个页面并将链接作为字符串提取出来。我没有使用像 Jsoup 这样的包。我的问题是,我如何只打印绝对 URL 而不是相对 URL 和绝对 URL?
【问题讨论】:
【参考方案1】:检查 src
或 href
属性以查看它是绝对的、相对的还是协议相对的 (//***.com/file
)。解析页面的 URL。如果标记是协议相关的,则使用解析的页面 URL 中的协议,然后附加属性的内容。如果它是相对的,则从原始 URL 中去除查询字符串和片段 IF,并“附加”相对部分。请注意,相对 URL 可能类似于 /foo
、foo
、foo/bar
或 ./../../bar/../foo
,因此您可能需要在打印之前解析路径遍历。
编辑:
看看URL 和Commons URL Builder。他们都会有所帮助。
【讨论】:
以上是关于仅打印绝对 URL的主要内容,如果未能解决你的问题,请参考以下文章
如何配置 autotools/gcc 以使用绝对路径打印警告和错误?