Python实战社群

Java实战社群

长按识别下方二维码,按需求添加

扫码关注添加客服

进Python社群▲

扫码关注添加客服

进Java社群

作者:叶庭云

来源:凹凸数据

作者:叶庭云

CSDN:https://blog.csdn.net/fyfugoyfa

疲惫的生活里总要有些温柔梦想吧

目标URL:http://www.win4000.com/meinvtag4_1.html

爬取美桌网某个标签下的美女壁纸,点进详情页可以发现,里面是一组套图

一、网页分析

翻页查看 URL 变化规律:

http://www.win4000.com/meinvtag4_1.html
http://www.win4000.com/meinvtag4_2.html
http://www.win4000.com/meinvtag4_3.html
http://www.win4000.com/meinvtag4_4.html
http://www.win4000.com/meinvtag4_5.html

页面里看到的每张图片点击进去有详情页,里面是套图

详情页里套图URL变化规律:

http://www.win4000.com/meinv216987_1.html
http://www.win4000.com/meinv216987_2.html
http://www.win4000.com/meinv216987_3.html

在网页源代码中也可以直接找到数据:

图片名称  下载链接
性感美女肌肤雪白撩人写真图片
http://pic1.win4000.com/pic/8/e0/24b989d57c.jpg

二、爬虫基本思路

1. 获取5页的套图的URL

def get_taotu_url():for i in range(1, 6):url = f'http://www.win4000.com/meinvtag4_{i}.html'headers = {'User-Agent': choice(user_agent)}# 发送请求  获取响应rep = requests.get(url, headers=headers)# print(rep.status_code)    状态码  200# print(rep.text)html = etree.HTML(rep.text)taotu_url = html.xpath('//div[@class="tab_tj"]/div/div/ul/li/a/@href')# 过滤掉无效的urltaotu_url = [item for item in taotu_url if len(item) == 39]# 一个页面有24个图片print(taotu_url, len(taotu_url), sep='\n')

2. 进入套图详情页爬取图片
def get_img(url):headers = {'User-Agent': choice(user_agent)}# 发送请求  获取响应rep = requests.get(url, headers=headers)# 解析响应html = etree.HTML(rep.text)# 获取套图名称   最大页数name = html.xpath('//div[@class="ptitle"]/h1/text()')[0]os.mkdir(r'./女神套图/{}'.format(name))max_page = html.xpath('//div[@class="ptitle"]/em/text()')# 字符串替换  便于之后构造url请求url1 = url.replace('.html', '_{}.html')for i in range(1, int(max_page[0]) + 1):url2 = url1.format(i)sleep(randint(1, 3))reps = requests.get(url2, headers=headers)dom = etree.HTML(reps.text)src = dom.xpath('//div[@class="main-wrap"]/div[1]/a/img/@data-original')[0]file_name = name + f'第{i}张.jpg'img = requests.get(src, headers=headers).contentwith open(r'./女神套图/{}/{}'.format(name, file_name), 'wb') as f:f.write(img)print(f'成功下载图片:{file_name}')

3. 完整代码实现

完整代码下载链接(或点击阅读原文):

https://alltodata.cowtransfer.com/s/51b7cb0574304c

运行效果如下:

程序运行一会,图片就全部爬取下来保存在本地文件夹,5页的120组套图,美滋滋。

四、其他说明

  • 不建议抓取太多数据,容易对服务器造成负载,浅尝辄止即可。

  • 通过本文爬虫,可以帮助你了解套图的爬取,如何通过字符串的拼接来构造URL请求。

  • 本文利用 Python 爬虫实现批量下载女神套图,实现过程中也会遇到一些问题,多思考和调试,最终解决问题,也能理解得更深刻。

  • 代码可直接复制运行,如果觉得还不错,记得给个赞哦,也是对作者最大的鼓励,不足之处可以在评论区多多指正。

程序员专栏 扫码关注填加客服 长按识别下方二维码进群

近期精彩内容推荐:  

 程序员买房前后对比,看完后已哭瞎...

 内部泄露版!互联网大厂的薪资和职级一览

 Google 出品的 Java 编码规范

 Python编程 高阶函数使用技巧

在看点这里好文分享给更多人↓↓

福利!手把手教你Python爬取女神套图相关推荐

  1. 福利来了!手把手教你Python爬取女神套图

    疲惫的生活里总要有些温柔梦想吧 目标URL:http://www.win4000.com/meinvtag4_1.html 爬取美桌网某个标签下的美女壁纸,点进详情页可以发现,里面是一组套图 一.网页 ...

  2. 手把手教你Python爬取女神套图

    疲惫的生活里总要有些温柔梦想吧 目标URL:http://www.win4000.com/meinvtag4_1.html 爬取美桌网某个标签下的美女壁纸,点进详情页可以发现,里面是一组套图 一.网页 ...

  3. python爬取资料怎么样_手把手教你Python爬取新房数据

    原标题:手把手教你Python爬取新房数据 项目背景 新房数据,对于房地产置业者来说是买房的重要参考依据,对于房地产开发商来说,也是分析竞争对手项目的绝佳途径,对于房地产代理来说,是踩盘前的重要准备. ...

  4. 【爬虫】爬取女神套图

    疲惫的生活里总要有些温柔梦想吧 目标URL:http://www.win4000.com/meinvtag4_1.html 爬取美桌网某个标签下的美女壁纸,点进详情页可以发现,里面是一组套图 一.网页 ...

  5. 从零开始,手把手教你python爬取美足船袜网!

    目标网址:http://mzsock.com 美足船袜网 你懂得!! 这里先给大家介绍一个python自带的库 :urllib.request urllib.request --- 用于打开 URL ...

  6. Python爬取系列妹子图实战总结(程序员节福利哟)

    Python爬取系列妹子图(福利哟~~~) 用到的模块:requests 和 lxml中的html 今天呢是10月24日,天气一如既往的好,也是传说中的程序员节,来爬波妹子图岂不美哉!!! 开始操作: ...

  7. python画折线图-手把手教你Python yLab的绘制折线图的画法

    Python的可视化工具有很多,数不胜数,各有优劣.本文就对其中的pylab进行介绍.之所以介绍这一款,是因为它和Matlab的强烈相似度,如果你使用过Matlab,那么相信pylab你也会很快上手. ...

  8. python爬取图片源码_半次元图片爬取-python爬取半次元图片源码下载-西西软件下载...

    python爬取半次元图片源码,由大神自制的python爬取工具,本源码针对半次元图片平台,可以爬取最新的网站图片资源,支持自定义保存目录,非常方便,需要requests库的支持,想要相关源码资源的朋 ...

  9. python 知乎美女_知乎大神教你用Python爬取网站美女图,附代码!

    都知道Python的抓取功能强大,可以帮我们从海量的数据中爬取所需要的进行分析.下面,就给大家分享知乎大神怎么用Python爬取高颜值美女! 1.数据源 知乎话题『美女』下所有问题中回答所出现的图片 ...

最新文章

  1. 纠错工具之 - Proovread
  2. 采集音频和摄像头视频并实时H264编码及AAC编码[转]
  3. android computescroll_Android Scroller与computeScroll的调用机制关系
  4. 小白入职AI数据工程师
  5. OpenCV 实现颜色直方图
  6. Listings of System and Object Privileges--系统和对象权限列表
  7. 冗余链路引起广播风暴和MAC地址表不稳定
  8. 糗百文化:糗事百科的运营哲学
  9. 网络安全学习--002--windows基础知识
  10. Semantic UI学习(一、开始使用)
  11. 传统企业怎么通过抖音引流到微信
  12. cad怎样编辑标注文字?分享一个方法
  13. [UTCTF2020]sstv
  14. 2020年数二真题(重点题讲解)
  15. 智行者王肖:自动驾驶本质在于对待数据的态度、获取及应用方式 | 自动驾驶这十年... 1
  16. 运用计算机控制系统实现逆变器,自动化计算机控制系统复习ppt课件.ppt
  17. 如何使用(免费软件)Microsoft ICE轻松扫描大图片
  18. python django 动态网页_Django创建动态网页的基础知识
  19. 硬件原理图设计规范(二)
  20. LOJ#3084. 「GXOI / GZOI2019」宝牌一大堆(递推)

热门文章

  1. 【jetson nano】环境配置之pytorch和PIL安装
  2. Drools从入门到精通之KIE
  3. K8S之pod(十二)
  4. Spring Webflux - 01 MVC的困境
  5. vue.runtime.esm.js?2b0e:619 [Vue warn]: Failed to resolve filter: moneyChange
  6. Python后端工程师面试题目分享,求职面试之前先来看看!
  7. Ucloud创始人季昕华:办法总比困难多
  8. Vue(二)vue 指令及用法举例
  9. typora+七牛云图床快速配置,告别手动上传图片
  10. 获取url地址参数的方法