找回密码
  注册[Register]
查看: 611|回复: 8

爬取妹子图片

[复制链接]
发表于 2020-8-17 08:30 | 显示全部楼层 |阅读模式
禁止求评分、诱导评分、互刷评分、互刷悬赏值,违规者封号处理。
禁止发布推广、邀请码、邀请链接、二维码或者有利益相关的任何推广行为。
所有非原创软件请发布在【精品软件区】,发帖必须按照本版块版规格式发帖。

爬取妹子图片,学之小甲鱼,并给每个模特建个文件夹。
喜欢的给点爱心

  1. import re
  2. import os
  3. import requests
  4. import easygui as g
  5. import time


  6. def get_html(url):
  7.     header = {
  8.         'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3314.0 Safari/537.36 SE 2.X MetaSr 1.0',
  9.         'Referer': 'https://www.mzitu.com/japan/'}
  10.     html = requests.get(url, headers=header)
  11.     return html


  12. def get_img(html):
  13.     html = html.text
  14.     img_re = "https:\/\/i3\.mmzztt\.com\/(?:.+\/)+.+(?:\.jpg)"
  15.     imgs = re.findall(img_re, html)
  16.     return imgs


  17. def save_img(imgs, page):
  18.     for img_url in imgs:
  19.         res = get_html(img_url)
  20.         img = res.content
  21.         name = page + img_url.split("/")[-1]
  22.         print(img_url)
  23.         with open(name, "wb") as f:
  24.             f.write(img)


  25. def download_mm():
  26.     great = g.diropenbox()
  27.     os.chdir(great)
  28.     i = int(input("请输入开始页码(建议为1):"))
  29.     n = int(input("请输入结束页码:"))
  30.     while i < n:
  31.         home_url = "https://www.mzitu.com/page/" + str(i) + "/"
  32.         i += 1
  33.         model_html = get_html(home_url).text
  34.         model = re.compile("https:\/\/.{13}\/\d{5,6}")
  35.         all_model = model.findall(model_html)
  36.         all_model = list(set(all_model))  # 去重
  37.         for each in all_model:

  38.             img_url = get_html(each).text
  39.             dirs = re.search(r'([\u4e00-\u9fa5·]{2,16})', img_url).group()
  40.             print('开始下载%s模特的图片' % dirs)
  41.             if os.path.exists(dirs):
  42.                 pass
  43.             else:
  44.                 os.mkdir(dirs)
  45.                 os.chdir(dirs)
  46.                 try:
  47.                     nums = re.findall("https:\/\/.{13}\/\d{5,6}\/\d{2}", img_url)
  48.                     page_num = int(nums[-1].split("/")[-1])
  49.                     print('该模特共有%s张图片' % page_num)
  50.                     for mm in range(page_num):
  51.                         mm_url = each + "/" + str(mm + 1)
  52.                         print(mm_url)
  53.                         mm_html = get_html(mm_url)
  54.                         imgs = get_img(mm_html)
  55.                         page = str(i - 1) + "_"
  56.                         save_img(imgs, page)
  57.                         time.sleep(1)
  58.                 except:
  59.                     pass
  60.                 os.chdir(os.pardir)


  61. if __name__ == "__main__":
  62.     download_mm()
复制代码


2.jpg
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心值】和【牛币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
发表于 2020-8-17 08:30 | 显示全部楼层
好的,非常感谢
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心值】和【牛币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 有用 没用

使用道具 举报

发表于 2020-8-17 08:44 | 显示全部楼层
谢谢分享
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心值】和【牛币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 有用 没用

使用道具 举报

发表于 2020-8-17 08:54 | 显示全部楼层
谢谢大佬
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心值】和【牛币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 有用 没用

使用道具 举报

发表于 2020-8-17 08:56 | 显示全部楼层
6666
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心值】和【牛币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 有用 没用

使用道具 举报

发表于 2020-8-17 09:01 | 显示全部楼层
谢谢大牛
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心值】和【牛币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 有用 没用

使用道具 举报

发表于 2020-8-17 13:36 | 显示全部楼层
感谢楼主分享
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心值】和【牛币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 有用 没用

使用道具 举报

发表于 2020-8-20 00:32 | 显示全部楼层
6666666666
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心值】和【牛币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 有用 没用

使用道具 举报

发表于 2020-8-27 09:06 | 显示全部楼层
6666666666666666
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心值】和【牛币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 有用 没用

使用道具 举报

您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

RSS订阅|手机版|小黑屋|广告投放|大牛论坛

GMT+8, 2024-5-30 21:27 , Processed in 0.036424 second(s), 20 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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