Har*_*rdy 55
你也可以这样做(如果你安装了lynx)......
Lynx版本<2.8.8
lynx -dump -listonly my.html
Run Code Online (Sandbox Code Playgroud)
Lynx版本> = 2.8.8(由@condit提供)
lynx -dump -hiddenlinks=listonly my.html
Run Code Online (Sandbox Code Playgroud)
Gre*_*con 37
你自找的:
$ wget -O - http://stackoverflow.com | \
grep -io '<a href=['"'"'"][^"'"'"']*['"'"'"]' | \
sed -e 's/^<a href=["'"'"']//i' -e 's/["'"'"']$//i'
Run Code Online (Sandbox Code Playgroud)
这是一个粗略的工具,因此所有关于尝试使用正则表达式解析HTML的常见警告都适用.
小智 14
grep "<a href=" sourcepage.html
|sed "s/<a href/\\n<a href/g"
|sed 's/\"/\"><\/a>\n/2'
|grep href
|sort |uniq
Run Code Online (Sandbox Code Playgroud)
Ing*_*kat 14
使用Xidel - HTML/XML数据提取工具,可以通过以下方式完成:
$ xidel --extract "//a/@href" http://example.com/
Run Code Online (Sandbox Code Playgroud)
转换为绝对网址时:
$ xidel --extract "//a/resolve-uri(@href, base-uri())" http://example.com/
Run Code Online (Sandbox Code Playgroud)
gho*_*g74 12
例如,因为您没有提供任何样本
awk 'BEGIN{
RS="</a>"
IGNORECASE=1
}
{
for(o=1;o<=NF;o++){
if ( $o ~ /href/){
gsub(/.*href=\042/,"",$o)
gsub(/\042.*/,"",$o)
print $(o)
}
}
}' index.html
Run Code Online (Sandbox Code Playgroud)
Cri*_*oot 10
我对Greg Bacon Solution做了一些改动
cat index.html | grep -o '<a .*href=.*>' | sed -e 's/<a /\n<a /g' | sed -e 's/<a .*href=['"'"'"]//' -e 's/["'"'"'].*$//' -e '/^$/ d'
Run Code Online (Sandbox Code Playgroud)
这解决了两个问题:
您可以使用以下正则表达式轻松完成此操作,它非常适合查找 URL:
\b(([\w-]+://?|www[.])[^\s()<>]+(?:\([\w\d]+\)|([^[:punct:]\s]|/)))
Run Code Online (Sandbox Code Playgroud)
我取自John Gruber 的关于如何在文本中查找 URL 的文章。
这样您就可以找到文件 f.html 中的所有 URL,如下所示:
cat f.html | grep -o \
-E '\b(([\w-]+://?|www[.])[^\s()<>]+(?:\([\w\d]+\)|([^[:punct:]\s]|/)))'
Run Code Online (Sandbox Code Playgroud)