鱼C论坛

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

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

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

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

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

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

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

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

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

没有对图片进行文件夹分类 运行速度上也比较慢
import requests
from pyquery import PyQuery as pq

headers={
    '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',
}
#存储翻页的列表
lis = []
#解析具体地址中的图片URL抓取
def picture(url):
    while True:
        lis.append(url)
        request_two = requests.get(lis[0], headers=headers).text
        # 图片下载
        doc = pq(request_two)
        image = doc('.main-image').find('img').attr('src')
        img_file = image[32:]
        headerse = {
            'Host': 'hm.baidu.com',
            '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'
        }
        request_dowm = requests.get(url=image, headers=headerse).content
        with open(img_file, 'wb')as file:
            file.write(request_dowm)
            print('保存完毕')
        lis.clear()
        # 翻页
        doc = pq(request_two)
        page = doc('.pagenavi').find('a').eq(-1).attr.href
        lis.append(page)
        print(lis)
picture('https://www.mzitu.com/247153')
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-1-18 20:14

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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