鱼C论坛

 找回密码
 立即注册
查看: 2301|回复: 0

[作品展示] 我修改了妹子图爬虫,只爬一组套图

[复制链接]
发表于 2020-3-18 13:07:39 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 mynfqc 于 2020-3-18 13:29 编辑

从实用的角度讲,我并不希望无差别爬图,只希望把浏览喜欢的套图存下来
以前在尤果还买过几套图,以后都白嫖了哈哈
  1. import requests
  2. from bs4 import BeautifulSoup
  3. import os
  4. import time

  5. # 从www.mzitu.com下载一组套图
  6. def crawl_pic_set(dir, headers, set_url):
  7.     # print(file_name)
  8.     print('正在请求 ' + str(set_url))
  9.     html = requests.get(set_url, headers=headers).text
  10.     print('正在解析...')
  11.     soup = BeautifulSoup(html, 'lxml')
  12.     for content in soup.select('.content'):
  13.         img_total = int(content.find(class_='pagenavi').select('span')[-2].string)
  14.         print('共' + str(img_total) + '张\n')
  15.         for i in range(1, img_total + 1):
  16.             pic_url = set_url + "/" + str(i)
  17.             print('当前进度 ' + str(i) + '/' + str(img_total) + '\n')
  18.             # dir_path = dir + file_name
  19.             image_path = dir + '/' + str(i) + '.jpg'
  20.             print('检查文件是否存在 ' + image_path)
  21.             if (not os.path.exists(image_path)) or os.path.getsize(image_path) < 1024:
  22.                 soup = BeautifulSoup(requests.get(pic_url, headers=headers).text, 'lxml')
  23.                 # 访问太频繁会被屏蔽
  24.                 time.sleep(1)
  25.                 main_image = soup.find(class_='main-image')
  26.                 if main_image == None:
  27.                     print(soup)
  28.                     continue
  29.                 image_src = main_image.find('img').get('src')
  30.                 print('请求图片地址 ' + str(image_src))
  31.                 print('文件下载... ')
  32.                 image_content = requests.get(image_src, headers=headers).content
  33.                 print('下载成功')
  34.                 print('检查文件夹是否存在 ' + dir)
  35.                 if not os.path.exists(dir):
  36.                     print('创建文件夹 ' + dir)
  37.                     os.makedirs(dir)
  38.                 else:
  39.                     print('文件夹已存在')
  40.                 print('存入磁盘...')
  41.                 with open(image_path, 'wb') as f:
  42.                     f.write(image_content)
  43.                     print('存放完成\n')
  44.                     f.close()
  45.             else:
  46.                 print('文件已存在,无需重复下载\n')


  47. def main():
  48.     # 存套图的目录名
  49.      dir = 'E:/妹子图/尤果 杜小雨'
  50.     # 套图url
  51.      set_url = "https://www.mzitu.com/114919"
  52.      print('图片保存地址 ' + str(dir))
  53.      home_url = 'https://www.mzitu.com'
  54.      headers = {
  55.         'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.122 Safari/537.36 Edg/80.0.361.62',
  56.         'Referer': home_url}
  57.      crawl_pic_set(dir, headers, set_url)


  58. if __name__ == "__main__":
  59.     main()
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

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

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-5-14 14:03

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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