鱼C论坛

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

[技术交流] 32行代码爬取妹子图全系图片

[复制链接]
发表于 2020-9-8 17:47:20 | 显示全部楼层 |阅读模式

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

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

x
本帖最后由 admintest166 于 2020-9-8 17:52 编辑

32行代码主要是妹子图这个网站的翻页机制 给了很大的便利  细致化的内容 可以自行观察一下代码和网站的结构就可以看出来

之前发过pyspider框架的爬取妹子图 但如果不去阅读源代码很难知道其原理

因为最近在写php的代码 对python有些生疏了 感谢“疾风怪盗” 给予的技术上的帮助

没有对图片进行文件夹分类 运行速度上也比较慢

  1. import requests
  2. from pyquery import PyQuery as pq

  3. headers={
  4.     'user-agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4183.83 Safari/537.36',
  5. }
  6. #存储翻页的列表
  7. lis = []
  8. #解析具体地址中的图片URL抓取
  9. def picture(url):
  10.     while True:
  11.         lis.append(url)
  12.         request_two = requests.get(lis[0], headers=headers).text
  13.         # 图片下载
  14.         doc = pq(request_two)
  15.         image = doc('.main-image').find('img').attr('src')
  16.         img_file = image[32:]
  17.         headerse = {
  18.             'Host': 'hm.baidu.com',
  19.             'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4183.83 Safari/537.36'
  20.         }
  21.         request_dowm = requests.get(url=image, headers=headerse).content
  22.         with open(img_file, 'wb')as file:
  23.             file.write(request_dowm)
  24.             print('保存完毕')
  25.         lis.clear()
  26.         # 翻页
  27.         doc = pq(request_two)
  28.         page = doc('.pagenavi').find('a').eq(-1).attr.href
  29.         lis.append(page)
  30.         print(lis)
  31. picture('https://www.mzitu.com/247153')
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-6-27 01:12

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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