python批量下载照片
admin
2023-07-20 22:21:47
0

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

相关内容

热门资讯

电脑为什么没声音怎么办 电脑没有声音是一个比较常见的问题,在日常的使用中难免会碰到这种情况。下面我将从硬件和软件两个方面介绍...
石家庄电视机故障 石家庄市是河北省的省会城市,也是一个经济、文化和交通中心,拥有良好的基础设施和发达的经济。在这个城市...
春兰空调维修价格表 对于春兰空调的维修价格表,需要根据具体的故障情况进行评估。下面介绍一些常见的春兰空调维修项目及价格参...
惠而浦空调j1故障 惠而浦空调j1故障通常指的是室外机的故障。该故障可能会导致空调无法正常运行,需要进行修理或更换故障部...
志高空调显示p7怎么办 志高空调显示P7是指空调室内温度传感器失效造成的故障。这种故障会导致空调不能正常运作,用户需要及时处...
英国两列火车相撞,目击者:有人... 据凤凰卫视报道,英国中部贝德福德地区6月19日发生两列火车相撞事故,已造成1人死亡,89人受伤。当地...
中介费12万、彩礼26万,男子... 近日,《今日说法》栏目播出一起婚恋诈骗案:2025年年初,河南省南阳市社旗县的刘峰(化名)经网络婚介...
奥巴马质疑特朗普:伊朗战争后,... 当地时间6月19日,美国全国广播公司(NBC)《今日秀》节目播出对美国前总统奥巴马的采访。奥巴马对特...
假期打虎!朱昌杰被查 中央纪委国家监委网站讯 新疆维吾尔自治区政府原党组成员、副主席朱昌杰涉嫌严重违纪违法,目前正接受中央...
王树国:福耀科技大学数学用的是... 2025年高考招生季,福耀科技大学面向福建、河南、江西、湖南、广西五省(自治区)共招收50名优秀本科...