我正在尝试下载网站的所有图片
这是网站:
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}'`
运行最后一条命令的结果是磁盘上出现了一包高清壁纸