python批量下载照片-创新互联

#!/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

另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。

成都创新互联公司服务项目包括泸溪网站建设、泸溪网站制作、泸溪网页制作以及泸溪网络营销策划等。多年来,我们专注于互联网行业,利用自身积累的技术优势、行业经验、深度合作伙伴关系等,向广大中小型企业、政府机构等提供互联网行业的解决方案,泸溪网站推广取得了明显的社会效益与经济效益。目前,我们服务的客户以成都为中心已经辐射到泸溪省份的部分城市,未来相信会继续扩大服务区域并继续获得客户的支持与信任!
文章标题:python批量下载照片-创新互联
网页网址:http://csdahua.cn/article/ceeodj.html
扫二维码与项目经理沟通

我们在微信上24小时期待你的声音

解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流