如何下载图像并根据URL保存图像名称?

时间:2012-09-03 09:19:43

标签: curl web-scraping wget scrape scraper

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

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

www_amazon_com_gp_product_B0029KH944_41RaFZ6S-0L._SL500_AA300_.jpg

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

1 个答案:

答案 0 :(得分: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 second读取文件名,然后--download下载它...

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