从网站下载所有图片

从网站下载所有图片

我正在尝试下载网站的所有图片

这是网站:

https://wall.alphacoders.com/by_sub_category.php?id=173173&name=Naruto+Wallpapers

我试过:

wget -nd -r -P /home/Pictures/ -A jpeg,jpg,bmp,gif,png https://wall.alphacoders.com/by_sub_category.php?id=173173&name=Naruto+Wallpapers
s

但它不会下载图片

结果

HTTP 请求已发送,等待响应... 200 OK 长度:未指定 [text/html] /home/Pictures:权限被拒绝/home/Pictures/by_sub_category.php?id=173173:没有此文件或目录

无法写入‘/home/Pictures/by_sub_category.php?id=173173’(没有此文件或目录)。

答案1

要使用 wget 从指定页面下载所有图像,您可以使用以下命令:

wget -i `wget -qO- https://wall.alphacoders.com/by_sub_category.php\?id\=173173\&name\=Naruto+Wallpapers | sed -n '/<img/s/.*src="\([^"]*\)".*/\1/p'`

在此示例中,HTML 文件使用 wget 下载到 STDOUT,用 sed 进行解析,以便仅保留 img URL 并wget -i作为输入列表传递以供下载。

请注意,它将仅下载此页面上的图像,但它们只是缩略图(宽 350px)。

如果你想下载完整的图片,你应该更进一步,改变解析的 IMG url,使它们与高分辨率图片相对应。你可以用 sed 或 awk 来做:

wget -i `wget -qO- https://wall.alphacoders.com/by_sub_category.php\?id\=173173\&name\=Naruto+Wallpapers | sed -n '/<img/s/.*src="\([^"]*\)".*/\1/p' | awk '{gsub("thumb-350-", "");print}'`

运行最后一条命令的结果是磁盘上出现了一包高清壁纸

在此处输入图片描述

相关内容