从HTML文件中获取jpg图像

nod*_*nja 1 grep parsing html-parsing

我正在尝试使用grep来获取HTML文件中jpg图像的完整url地址.一个问题是其中没有很多换行符,所以当我使用grep它获取路径时,还有很多其他我不感兴趣的东西.我怎样才能获得jpg图像的URL?

oli*_*bre 11

一个sed命令

sed -n '/<img/s/.*src="\([^"]*\)".*/\1/p' yourfile.html
Run Code Online (Sandbox Code Playgroud)

或者使用ERE(扩展正则表达式)来避免从上面的表达式反斜杠:

sed -E -n '/<img/s/.*src="([^"]*)".*/\1/p' yourfile.html
Run Code Online (Sandbox Code Playgroud)

一个基本grep命令

grep -o '<img[^>]*src="[^"]*"' yourfile.html
Run Code Online (Sandbox Code Playgroud)

两个连续的基本grep命令

grep -o '<img[^>]*src="[^"]*"' yourfile.html | grep -o '"[^"]*"'
Run Code Online (Sandbox Code Playgroud)

grep使用Perl Regex(PER)的单个命令

grep -Po '<img[^>]*src="\K[^"]*(?=")' yourfile.html
Run Code Online (Sandbox Code Playgroud)

使用ack作为类似grep的替代品

sudo apt install ack
ack -o '<img[^>]*src="\K[^"]*(?=")' yourfile.html
Run Code Online (Sandbox Code Playgroud)

下载s-hunter提议的网页

curl -s example.com/a.html | sed -En '/<img/s/.*src="([^"]*)".*/\1/p'
Run Code Online (Sandbox Code Playgroud)