如何从网页下载所有图像,并在图像名称前添加网页 URL 前缀(所有符号均替换为下划线)?
例如,如果我要从 http://www.amazon.com/gp/product/B0029KH944/ 下载所有图像,则主产品图像将使用以下文件名保存:
www_amazon_com_gp_product_B0029KH944_41RaFZ6S-0L._SL500_AA300_.jpg
我已经安装了 WinHTTrack 和 wget,并花费了比可能值得的更多时间让它们做我想做的事情,但我没有成功,所以 Stack Overflow 是我最后的努力。 (如果您将构建选项设置为根据站点结构保存文件并编写脚本以根据其父目录重命名文件,WinHTTrack 就很接近,但问题是主映像托管在不同的域上。)
好吧,我在新的 Webscraper 中添加了一个下载选项。
这样你就可以这样做:
xidel "http://www.amazon.com/dp/B0029KH944/" -e 'site:=translate(filter($_url, "http://(.*)", 1), "/.", "__")' -f //img -e 'image:=filter($_url, ".*/(.*)", 1)' --download '$site;$image;'
首先-e读取url并删除/。字符,-f 选择所有图像,-e 第二个读取文件名,然后 --download 下载它...
虽然它有一个缺点,它尝试将每个图像解析为 html 文件,这可能会减慢速度......