查看: 262|回复: 1

[其他发布] 分享下百度图库批量下载爬虫源码

[复制链接]
发表于 2022-7-26 15:04 | 显示全部楼层 |阅读模式
非法程序、 2022-7-26 15:04 262 1 显示全部楼层
  1. # @风清扬(fqy2022)
  2. import requests
  3. import time
  4. import os
  5. # 创建保存文件夹
  6. if os.path.isdir(r'./保存'):
  7.     print('已存在文件夹!')
  8. else:
  9.     os.mkdir('./保存')
  10.     print('已为您创建文件夹!')

  11. class Image(object):
  12.     def __init__(self):
  13.         # URL
  14.         self.url = 'https://image.baidu.com/search/acjson?'
  15.         # 拼接headers
  16.         self.headers = {
  17.             'Cookie': 'BDqhfp=%E7%8B%97%26%260-10-1undefined%26%260%26%261; BIDUPSID=A063B6D6CC13957DA917CAA433A26251; PSTM=1583301079; MCITY=-315%3A; BDUSS=TBSSlRRQU9QbmR-MGt6NUFQa01iR3VQWHBUbnNacW9zMnJUN0N-QndGSzNkMkJnSVFBQUFBJCQAAAAAAAAAAAEAAADuVM9dw~vX1tPQybbIobXEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALfqOGC36jhgS; BDUSS_BFESS=TBSSlRRQU9QbmR-MGt6NUFQa01iR3VQWHBUbnNacW9zMnJUN0N-QndGSzNkMkJnSVFBQUFBJCQAAAAAAAAAAAEAAADuVM9dw~vX1tPQybbIobXEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALfqOGC36jhgS; BAIDUID=857FDC525D72D7899014BED3AB7A9EFF:FG=1; __yjs_duid=1_bd666ba46de51678e9fb98774eb68df71616750528301; BDORZ=FFFB88E999055A3F8A630C64834BD6D0; BDSFRCVID_BFESS=0X0OJeCmHlQJPareecEsuUw4D2KK0gOTHllnm4-TLeKNvakVJeC6EG0Ptf8g0KubFTPRogKK0gOTH6KF_2uxOjjg8UtVJeC6EG0Ptf8g0M5; H_BDCLCKID_SF_BFESS=fRkfoKPKfCv8qTrmbtOhq4tHePPLexRZ5mAqoJIXQCjvDR5eD4TD3J-0jhbhtPvLtnTnaIQhtqQnqnQTXPoYBpku5bOR2f743bRT2MKy5KJvfj6gjj7qhP-UyPkHWh37aGOlMKoaMp78jR093JO4y4Ldj4oxJpOJ5JbMonLafD_bhD-4Djt2eP00-xQja--XKKj2WROeajrjDnCrDhA2XUI8LUc72poZLI6H0R5J34OhSt0mQ55vyT8sXnO72P7XaRPL-pRHWhr-HJvKy4oTjxL1Db3JKjvMtg3t3qQmLUooepvoD-Jc3MvByPjdJJQOBKQB0KnGbUQkeq8CQft20b0EeMtjW6LEK5r2SCDMtC0b3D; indexPageSugList=%5B%22%E7%8B%97%22%2C%22%E4%BA%8C%E5%93%88%22%2C%22%E9%87%87%E8%80%B3%E5%9B%BE%E7%89%87%20%E5%94%AF%E7%BE%8E%22%2C%22%E9%87%87%E8%80%B3%E5%9B%BE%E7%89%87%E9%AB%98%E6%B8%85%22%2C%22%E9%87%87%E8%80%B3%E5%AE%A3%E4%BC%A0%E5%9B%BE%E7%89%87%22%2C%22%E9%87%87%E8%80%B3%22%2C%22%E5%96%9D%E5%80%92%E4%BA%86%E7%9A%84%E8%A1%A8%E6%83%85%E5%8C%85%22%2C%22%E8%A5%BF%E6%B8%B8%E8%AE%B0%20%E8%AF%8D%E4%BA%91%22%2C%22%E5%AD%99%E6%82%9F%E7%A9%BA%20%E8%AF%8D%E4%BA%91%22%5D; delPer=0; PSINO=7; BDRCVFR[dG2JNJb_ajR]=mk3SLVN4HKm; BDRCVFR[-pGxjrCMryR]=mk3SLVN4HKm; BDRCVFR[EJrvrN3l0S0]=pDgu-4B3j7tIZ-EIy7GQhPEUf; H_PS_PSSID=; BDRCVFR[X_XKQks0S63]=mk3SLVN4HKm; firstShowTip=1; ZD_ENTRY=baidu; cleanHistoryStatus=0; BA_HECTOR=a401010ka584240lm51g6r0320r; userFrom=www.baidu.com; ab_sr=1.0.0_YjAxODJmMjA1MDU3YTUyZjIyMzk2MGQ4YjM3MTQ5OGNjNDI5NWFkNjkxOTA0YjkxMDBlYjY0Y2JmMDU5NzY5MDY1NDAxZDY0ZDhhYjUzZDhkNGY4ZDUwOWVhMzkwMGMxYzQ5OTA1MjE3OTViYzZmN2QxNzMyN2M2ZjYxMzBkYTE=',
  18.             'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.114 Safari/537.36'
  19.         }
  20.         self.params = {
  21.             'tn': 'resultjson_com',
  22.             'logid': '11625870838566749778',
  23.             'ipn': 'rj',
  24.             'ct': '201326592',
  25.             'is': '',
  26.             'fp': 'result',
  27.             'queryWord': '',
  28.             'cl': '2',
  29.             'lm': '-1',
  30.             'ie': 'utf-8',
  31.             'oe': 'utf-8',
  32.             'adpicid': '',
  33.             'st': '-1',
  34.             'z': '',
  35.             'ic': '0',
  36.             'hd': '',
  37.             'latest': '',
  38.             'copyright': '',
  39.             'word': '',
  40.             's': '',
  41.             'se': '',
  42.             'tab': '',
  43.             'width': '',
  44.             'height': '',
  45.             'face': '0',
  46.             'istype': '2',
  47.             'qc': '',
  48.             'nc': '1',
  49.             'fr': '',
  50.             'expermode': '',
  51.             'force': '',
  52.             'pn': '',
  53.             'rn': '30',
  54.             'gsm': '',
  55.             'time': ''
  56.         }
  57.         self.image_list = []
  58.         a = input('请输入要爬取的图片名称:')
  59.         self.params['queryWord'] = a
  60.         self.params['word'] = a
  61.     def get_image(self, num):
  62.         for i in range(0, num):
  63.             self.params['time'] = int(time.time() * 1000)
  64.             self.params['pn'] = i * 30
  65.             response = requests.get(url=self.url, headers=self.headers, params=self.params)
  66.             for j in range(0, len(response.json()['data']) - 1):
  67.                 self.image_list.append(response.json()['data'][j]['thumbURL'])
  68.     # 图片保存函数
  69.     def save_image(self):
  70.         n = 1
  71.         for i in self.image_list:
  72.             image = requests.get(url=i)
  73.             print('正在下载第{}张'.format(n))
  74.             with open('./保存/{}.jpg'.format(n), 'wb') as f:
  75.                 f.write(image.content)
  76.             n += 1


  77. if __name__ == '__main__':
  78.     c = int(input('请输入要爬取的页数(每页有30张图片):'))
  79.     image = Image()
  80.     image.get_image(c)
  81.     image.save_image()
复制代码


发表于 2022-7-26 16:59 | 显示全部楼层
楼主好人一生平安!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则 返回列表 发新帖

快速回复 返回顶部 返回列表