gpt4 book ai didi

regex - 使用 awk sed 或 grep 从网页源解析 URL

转载 作者:行者123 更新时间:2023-12-04 22:51:10 24 4
gpt4 key购买 nike

我正在尝试解析下载网页的来源以获得链接列表。单线可以正常工作。这是我迄今为止尝试过的:

这似乎从一些页面名称中遗漏了部分 URL。

$ cat file.html | grep -o -E '\b(([\w-]+://?|domain[.]org)[^\s()<>]+(?:\([\w\d]+\)|([^[:punct:]\s]|/)))'|sort -ut/ -k3

这将获取所有 URL,但我不想包含具有/是 anchor 链接的链接。此外,我希望能够指定 domain.org/folder/:
$ awk 'BEGIN{
RS="</a>"
IGNORECASE=1
}
{
for(o=1;o<=NF;o++){
if ( $o ~ /href/){
gsub(/.*href=\042/,"",$o)
gsub(/\042.*/,"",$o)
print $(o)
}
}
}' file.html

最佳答案

如果你只是解析类似 < a > 标签的东西,你可以像这样匹配 href 属性:

$ cat file.html | grep -o -E 'href="([^"#]+)"' | cut -d'"' -f2 | sort | uniq

这将忽略 anchor ,并保证您拥有唯一性。这确实假设页面具有格式良好的 (X)HTML,但您可以先通过 Tidy 传递它。

关于regex - 使用 awk sed 或 grep 从网页源解析 URL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5369249/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com