码迷,mamicode.com
首页 > 编程语言 > 详细

python批量下载照片

时间:2018-08-23 12:03:48      阅读:220      评论:0      收藏:0      [点我收藏+]

标签:exist   nload   strip()   打印   字符串   urllib2   拼接   测试   cep   

#!/usr/bin/python # _*_ coding: utf-8 _*_ ‘‘‘ Created on 2018年8月22日 ‘‘‘ # 导入包 import urllib import urllib2 import re import os # 获取网站地址 req = urllib2.Request(‘https://image.baidu.com/search/index?tn=baiduimage&ct=201326592&lm=-1&cl=2&ie=gb18030&word=%C1%F5%CA%AB%CA%AB&fr=ala&ala=1&alatpl=star&pos=0&hs=2&xthttps=111111‘) # 打开网站,并赋给对象f f = urllib2.urlopen(req) # 设置本地下载路径,注意后面的\\,第一个是转义字符,第二个是路径的\字符 localDir = ‘E:\download\\‘ # 定义空列表 urlList = [] # 遍历网站 # 判断本地路径是否存在,如果不存在就创建 if not os.path.exists(localDir): os.makedirs(localDir) for eachLine in f: # 每一行的头和尾去掉空格 line = eachLine.strip() # 匹配含有jpg的行,(.*) 解释: .任意字符不包含换行,*0-N次 if re.match(‘.*jpg.*‘, line): # print(line) # 测试使用,可以注释,目的是打印匹配的字符串 # 以双引号作为分隔符,将每一行按照双引号进行拆分 wordList = line.split(‘\"‘) for word in wordList: # 拆之后,匹配https开头和jpg结尾的字符串 if re.match(‘https:/.*.jpg‘, word): # 将上一步匹配的字符串追加到定义的空列表urlList中 urlList.append(word) # 将列表去重,因为后续发现有重复现象 urlList = list(set(urlList)) #去重 # 遍历去重后的列表 for everyFile in urlList: everyURL = everyFile # 将url按照 / 切分,然后获取最后一个字符串作为照片名称 localFileName = everyURL.split(‘/‘)[-1] # print(localFileName) # 测试使用,可以注释,目的是打印匹配的字符串 # 拼接字符串,定义本地照片的绝对路径:目录路径+照片名字 localFile = localDir + localFileName # print (localFile) # 测试使用,可以注释,目的是打印匹配的字符串 # try语法,利用urllib.urlretrieve方法,将照片下载至本地 try: urllib.urlretrieve(everyURL, localFile) #按照url进行下载,并以其文件名存储到本地目录 except Exception,e: continue

python批量下载照片

标签:exist   nload   strip()   打印   字符串   urllib2   拼接   测试   cep   

原文地址:http://blog.51cto.com/hui90877/2163265

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!