【发布时间】:2013-12-22 00:45:14
【问题描述】:
我在这里有一个代码,它通过查找文件扩展名来使用正则表达式查找所有图像文件。现在我要做的是将它保存到我计算机上的指定路径并保留其原始文件名。我当前的代码找到了图像,因为我通过打印 'source' 进行了测试,但没有将其保存到指定的目录,也许任何人都可以帮助我调整代码。
提前致谢。
这是我的代码:
import urllib,re,os
_in = raw_input('< Press enter to download images from first page >')
if not os.path.exists('FailImages'): # Directory that I want to save the image to
os.mkdir('FailImages') # If no directory create it
source = urllib.urlopen('http://www.samplewebpage.com/index.html').read()
imgs = re.findall('\w+.jpg',source) # regex finds files with .jpg extension
# 这一点需要调整
for img in imgs:
filename = 'src="'+ img.split('/')[0]
if not os.path.exists(filename):
urllib.urlretrieve(img,filename)
【问题讨论】:
-
我怀疑您将面临比简单地将所有图像文件转储到文件夹中更具挑战性的任务。仅当图像的名称不同时,这才有效。您最好的选择是捕获图像的相对路径(对于本地图像)并在本地重新创建文件夹结构;对于外部图像,您可能希望创建类似的结构,但包含在
www.externalimage.com之类的文件夹中。 -
页面上的图片是否具有相同的文件名并不重要
-
即使有些被覆盖? (1.jpg 会覆盖 1.jpg)?
-
是的,我只需要一个简单的代码即可将图像从网站下载/保存到我的文件夹。代码不一定要健壮。
标签: python regex image url download