多语言展示
当前在线:732今日阅读:60今日分享:41

Python爬虫如何下载图片?

快速,海量,图片下载 最基本的知识点,实现最常用的工作需求封装exe文件后,人人都可以用,一键下载海量图片
方法/步骤
1

先导入所需要的模块 import requests,time,os,math

2

获取下载的图片类型,函数,方便调用def get_word():    get_word = input('输入下载的图片,如【福】【鼠】:   ')    while True:        if len(get_word) != 0:            break        else:            get_word = input('输入错误,输入下载的图片,如【福】【鼠】:   ')    return get_word

3

获取下载的图片数量,函数,方便调用def get_img_num():    get_img_num = input('输入下载图片的数量:   ')    while True:        if get_img_num.isdigit():            break        else:            get_img_num = input('请输入数字,再次输入您要下载图片数量:   ')    return get_img_num

4

下载图片,函数,方便调用def down_img(word,img_num):    headers = {    # 标记了请求从什么设备,什么浏览器上发出,伪装为浏览器    'user-agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.98 Safari/537.36',    }    url = 'https://image.baidu.com/search/acjson'   # 数据来源 xhr下json数据    page_size = math.ceil(int(img_num)/30)     # 图片数量除以每页30条数据,向上取整得到分页页码    num = 1    file_path = 'image/'    if os.path.exists(file_path) == False:        os.makedirs(file_path)    for i in range(page_size):        params = {        'tn': 'resultjson_com','ipn': 'rj','ct': '2','is': '','fp': 'result',        'queryWord': word,'cl': '2','lm': '-1','ie': 'utf-8','oe': 'utf-8','adpicid': '','st': '-1','z': '','ic': '0','hd': '','latest': '','copyright': '',        'word': word,'s': '','se': '','tab': '','width': '','height': '','face': '0','istype': '2','qc': '','nc': '1','fr': '','expermode': '','force': '',        'pn': page_size*30,'rn': '30','gsm': '','90': '',    # page_size*30 (30,60,90) json数据中每页30条数据        }        html = requests.get(url,headers=headers,params=params)        for j in range(30):            if num > int(img_num):  #下载的图片数量大于输入的图片数量,则停止下载                print('==========图片全部下载完成==========')                print('图片在image路径')                print('10秒后自动关闭窗口')                time.sleep(10)                break            img_url = html.json()['data'][j]['middleURL']   # json数据结构            if '.jpg' in img_url or '.jpeg' in img_url or '.png' in img_url:    #判断 如果图片地址带后缀,则下载                data = requests.get(img_url).content    # 图片为二进制数据                with open(file_path+word+' - %d.jpg' % num,'wb') as f:    # D盘fu文件夹下存放下载的图片                    f.write(data)                print('已下载%d张图片了' % num)                num += 1                # time.sleep(1)   # 延迟1秒爬取

5

终端执行打包exe命令1.如果没有安装pyinstaller模块,则先打开cmd(windows+R输入cmd回车),输入pip install pyinstaller2.项目终端输入pyinstaller -F 文件名.py

6

大功告成,双击.exe文件,根据提示输入数据吧

注意事项

有任何问题,随时联系小编喔

推荐信息