0

如何从网页下载所有图像并在图像名称前加上网页的 URL(所有符号替换为下划线)?

例如,如果我要从http://www.amazon.com/gp/product/B0029KH944/下载所有图像,则主要产品图像将使用以下文件名保存:

www_amazon_com_gp_product_B0029KH944_41RaFZ6S-0L._SL500_AA300_.jpg

我已经安装了 WinHTTrack 和 wget 并且花费的时间比让他们做我想做的事情可能值得花费的时间更多,但我没有成功,所以 Stack Overflow 是我最后的努力。(如果您将构建选项设置为根据站点结构保存文件并编写脚本以根据文件的父目录重命名文件,WinHTTrack 就接近了,但问题是主图像托管在不同的域上。)

4

1 回答 1

1

好吧,我在我的新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 选择所有 imgs,-e 秒读取文件名,然后 --download 下载它......

虽然它的缺点是它试图将每个图像解析为一个 html 文件,这可能会减慢一点速度......

于 2012-09-06T00:36:03.477 回答