Python爬虫如何下载图片?

2025-10-08 09:11:11

1、先导入所需要的模块

import requests,time,os,math

 

Python爬虫如何下载图片?

2、获取下载的图片类型,函数,方便调用

def get_word():

    get_word = input('输入下载的图片,如【福】【鼠】:   ')

    while True:

        if len(get_word) != 0:

            break

        else:

            get_word = input('输入错误,输入下载的图片,如【福】【鼠】:   ')

    return get_word

 

Python爬虫如何下载图片?

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

 

Python爬虫如何下载图片?

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': '201326592','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': '','1578970597290': '',    # 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秒爬取

 

 

Python爬虫如何下载图片?

5、终端执行打包exe命令

1.如果没有安装pyinstaller模块,则先打开cmd(windows+R输入cmd回车),输入pip install pyinstaller

2.项目终端输入pyinstaller -F 文件名.py

Python爬虫如何下载图片?

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

Python爬虫如何下载图片?

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢