ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

爬取渐变风格插画

2021-09-24 22:59:42  阅读:144  来源: 互联网

标签:__ parse data 渐变 插画 爬取 response os self



import os, requests


class IMGspider(object):
    # 在当前工作目录下创建图片文件夹
    os_path = os.getcwd() + '/graph/'
    if not os.path.exists(os_path):
        os.mkdir(os_path)

    def __init__(self):
        '''
        准备数据
        '''
        self.user_page_input = input('请输入你想爬取多少页<示例:5>:')
        self.start_url = 'https://image.baidu.com/search/albumsdata'
        self.headers = {'User-Agent':
                            'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 \
                            (KHTML, like Gecko) Chrome/93.0.4577.82 Safari/537.36 Edg/93.0.961.52'}

    def parse_start_url(self):
        '''
        发送请求,获取响应
        :return:
        '''
        # 模拟翻页(异步请求)
        for page in range(1, int(self.user_page_input) + 1):
            # 构造请求参数
            params = {'pn': f'{30 * page}',
                      'rn': '30',
                      'tn': 'albumsdetail',
                      'word': '渐变风格插画',
                      'album_tab': '设计素材',
                      'album_id': '409',
                      'ic': '0',
                      'curPageNum': f'{page}'}
            # 发送请求,获取响应
            response = requests.get(self.start_url, headers=self.headers, params=params)

            self.parse_response_data(response)

    def parse_response_data(self, response):
        '''
        解析响应,数据提取
        :return:
        '''
        # 解析响应
        json_dict_data = response.json()
        data_list = json_dict_data['albumdata']['linkData']
        for dic_data in data_list:
            # 提取图片地址
            img_url = dic_data['thumbnailUrl']
            # 提取保存图片名称
            img_name = dic_data['contSign']

            # 对图片的地址发送请求,获取图片的字节数据
            data = requests.get(img_url).content

            # 图片保存
            self.parse_save_data(img_name, data)

    def parse_save_data(self, name, data):
        '''
        保存数据
        :return:
        '''
        with open(self.os_path + f'{name}' + '.jpg', 'wb') as f:
            f.write(data)
        print('下载完成')


if __name__ == '__main__':
    i = IMGspider()
    i.parse_start_url()

标签:__,parse,data,渐变,插画,爬取,response,os,self
来源: https://blog.csdn.net/m0_53401228/article/details/120464597

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有