是否有适用于 Ubuntu 的程序/应用程序允许从页面下载多张图片?确切地说,我想从网站上获取一些图片
http://www.cookingforengineers.com/
有些食谱有无穷无尽的图片列表,我想把它们全部放在一起。
我尝试使用 Firefox 来使用 DownThemAll,但是 1. 我只能获得缩略图;2. 我现在使用 Chrome。
答案1
尽管不熟悉编码,但这仍然应该能满足您的要求。当然,您可以等待其他用户发布 GUI 解决方案。
只需将以下代码复制并粘贴到文本文档中,然后将其另存为dlimgs.py
。我建议在主目录中创建一个名为的新文件夹bin
并将其保存在那里。
#!/ust/bin/env python
import sys,urllib2,re
def main(url):
page = getpage(url)
start = page.find('articlebody')
page = page[start:]
lines = page.split('\n')
for l in lines:
if ('<img' in l) and ('.jpg' in l):
matches = re.search(".*<img.*'(.*\.jpg)'.*",l)
img = matches.group(1)
name = img[img.rfind('/')+1:]
print 'Downloading: '+name
img = getpage(img)
with open(name,'w') as f:
f.write(img)
def getpage(url):
user_agent = 'Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:31.0) Gecko/20100101 Firefox/31.0'
headers = {'User-Agent':user_agent}
req = urllib2.Request(url, None, headers);
response = urllib2.urlopen(req)
return response.read()
if __name__ == '__main__':
main(sys.argv[1])
然后使用Ctrl++打开终端并执行以下操作:AltT
- 使用命令移动到保存的位置
cd
(例如cd ~/bin
:) - 使用以下命令调用脚本
python dlimgs.py <url>
它将下载所有图像并将它们保存在~/bin
文件夹中。请注意,这是专门为您在问题中提供的网站编写的,因此将跳过页面顶部的标题图像。它可能会为其他网站抛出错误。还有一点需要注意,它将覆盖目录中任何具有相同文件名的图像,~/bin
因此请小心。