2023年6月29日发(作者:)
python妹⼦图爬⾍5千张⾼清⼤图突破防盗链福利5千张福利⾼清⼤图meizitu-spiderpython通⽤爬⾍-绕过防盗链爬取妹⼦图这是⼀只⼩巧⽅便,强⼤的爬⾍,由python编写所需的库有1. requests2. BeautifulSoup3. os4. lxml伪装成chrome浏览器,并加上referer请求头访问服务器不会被拒绝。完整项⽬放在GitHub:具体实现思路:1. 分析⽹页源代码结构2. 找到合适的⼊⼝3. 循环爬取并去重加到循环队列4. 基本上实现了爬取所有图⽚代码思路/程序流程:我通过观察发现meizitu⽹站的分布结构虽然找不到切⼊⼝但是其结构每⼀个页⾯都会展⽰⼀个main-image主图,并且页⾯下⾯都会有推荐这个板块,所以就i昂到了利⽤从⼀个页⾯当作⼊⼝,利⽤beautifulsoup或者pyquery分析HTML页⾯提取出推荐的其他页⾯,添加到循环访问队列,整体程序最外蹭利⽤while循环控制结构,循环不重复地遍历队列⾥⾯的url页⾯,每个页⾯都只保存⼀个作为展⽰的主图这样就循环下去程序不停歇地运⾏也可以放到服务器上⾯爬取,顺便上传到⽹盘分享给⼴⼤--你懂的下⾯是功能以及效果展⽰整体展⽰爬取效果展⽰-丰功伟绩爬取效果展⽰-硕果累累定制请求头代码展⽰python源代码如下#!/usr/bin/env python# -*- encoding: utf-8 -*-import requestsfrom bs4 import BeautifulSoup# 定制请求头headers = {'Referer':'','User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3679.0 Safari/537.36'}path = 'R:/python123全国等考/meizitu/'meizi_url = []meizitu_img = []start_url = '/177007'meizi_(start_url)r = (start_url)soup = BeautifulSoup()main_img = ('div', 'main-image').('src')meizitu_(main_img)guess_like = ('dl', 'widgets_like').find_all('a')for a in guess_like: meizi_(('href'))# 删除起始引导url# del meizi_url[0]# print(meizi_url)# print(meizitu_img)with open("R:/python123全国等考/meizitu/", "w") as fo: x = 1 y = 1 for node_url in meizi_url: r = (node_url) soup = BeautifulSoup() main_img = ('div', 'main-image').('src') # 添加到⽂件⽇志并下载主图 if main_img not in meizitu_img: x += 1 meizitu_(main_img) # 写⼊⽇志 (main_img+'n') # 下载主图 res = (main_img, headers=headers) if _code == 200: with open(path+str(x)+'-'+str(y)+'.jpg', 'wb') as f: (t) print('成功保存图⽚')
# 猜你喜欢,跳转其他页⾯ guess_like = ('dl', 'widgets_like').find_all('a') for a in guess_like: like = ('href') # 添加推荐页⾯ if like not in meizi_url: y += 1 meizi_(like)另外本⼈还有⾯下给⼩⽩的1. 王者荣耀⽪肤⾼清⼤图2. 背景故事爬⾍欢迎学习⽀持有⽤或帮到你的话不妨点个star我将感激不尽
发布者:admin,转转请注明出处:http://www.yc00.com/web/1687984917a63833.html
评论列表(0条)