专栏名称: Python学习交流
每天更新,更新python相关的知识。希望诸君有所收获!
目录
相关文章推荐
Python爱好者社区  ·  史上最强!PINN杀疯了 ·  昨天  
Python爱好者社区  ·  英伟达憾失DeepSeek关键人才?美国放走 ... ·  昨天  
Python爱好者社区  ·  DeepSeek创始人梁文锋个人履历 ·  3 天前  
Python爱好者社区  ·  离谱!下载DeepSeek最高判刑20年? ·  2 天前  
Python爱好者社区  ·  多模态,杀疯了 ·  2 天前  
51好读  ›  专栏  ›  Python学习交流

python爬取妹子图5千张高清大图突破防盗链福利

Python学习交流  · 公众号  · Python  · 2019-04-07 16:58

正文

扫我

带你一起学python


python通用爬虫-绕过防盗链爬取妹子图

这是一只小巧方便,强大的爬虫,由python编写

所需的库有

  • requests

  • BeautifulSoup

  • os

  • lxml

伪装成chrome浏览器,并加上referer请求头访问服务器不会被拒绝。

具体实现思路:

  • 分析网页源代码结构

  • 找到合适的入口

  • 循环爬取并去重加到循环队列

  • 基本上实现了爬取所有图片

代码思路/程序流程:

我通过观察发现meizitu网站的分布结构虽然找不到切入口但是其结构每一个页面都会展示一个main-image主图,并且页面下面都会有 推荐 这个板块,所以就i昂到了利用从 一个页面当作入口 ,利用beautifulsoup或者pyquery分析HTML页面提取出推荐的其他页面,添加到循环访问队列,整体程序最外蹭利用while循环控制结构,循环不重复地遍历队列里面的url页面,每个页面都只保存一个作为展示的主图这样就循环下去程序不停歇地运行也可以放到服务器上面爬取,顺便上传到网盘分享给广大--你懂的

下面是功能以及效果展示

整体展示

爬取效果展示-丰功伟绩

爬取效果展示-硕果累累

定制请求头

代码展示

python源代码如下

#!/usr/bin/env python# -*- encoding: utf-8 -*-import requestsfrom bs4 import BeautifulSoup
# 定制请求头headers = {'Referer':'https://www.mzitu.com','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 = 'https://www.mzitu.com/177007'meizi_url.append(start_url)r = requests.get(start_url)soup = BeautifulSoup(r.text)main_img = soup.find('div', 'main-image').img.get('src')meizitu_img.append(main_img)
guess_like = soup.find('dl', 'widgets_like').find_all('a')for a in guess_like: meizi_url.append(a.get('href'))# 删除起始引导url# del meizi_url[0]
# print(meizi_url)






请到「今天看啥」查看全文


推荐文章
Python爱好者社区  ·  史上最强!PINN杀疯了
昨天
Python爱好者社区  ·  DeepSeek创始人梁文锋个人履历
3 天前
Python爱好者社区  ·  离谱!下载DeepSeek最高判刑20年?
2 天前
Python爱好者社区  ·  多模态,杀疯了
2 天前
潮音乐  ·  也许这就是爱情最好的样子
8 年前
哈哈搞笑视频  ·  ?元宵节?致我最在乎的人!?
7 年前
科学家庭育儿  ·  能过一辈子的夫妻,是怎么处理冲突的?
7 年前