简单一点,利用xpath解析爬取站长素材的图片
先看爬取成果:
把美女图片下载到一个专门的文件夹下,时不时浏览一下时不时很称心如意呢?(无图展示)
具体流程:
首先来到站长之家:url="站长素材-分享综合设计素材的平台"
这里拿高清图片举例:点击高清页面,将会来到有很多美女图片的页面,老实说,有没有心动啊。
(我反正不会心动,已入佛家.....)
人生态度:一切都是因果轮回、命中注定;美女,钱财将会化作滚滚红尘烟消云散...
回归主题:
点击高清图片来到一个新的页面:
点击鼠标右键检,观察规律---------------------
‘’
请求方式是get请求;
第一页的url和第二页的不同;
https:标准的ua(用户代理)反爬;
......
‘’
这里就不多说了,咱们上代码:
# 网页源码+解析 import urllib.request from lxml import etree '''https://sc.chinaz.com/tupian/xingganmeinvtupian.html https://sc.chinaz.com/tupian/xingganmeinvtupian_2.html https://sc.chinaz.com/tupian/xingganmeinvtupian_3.html ''' def create_request(page):if page==1:url="https://sc.chinaz.com/tupian/xingganmeinvtupian.html"else:url="https://sc.chinaz.com/tupian/xingganmeinvtupian_"+str(page)+".html"headers={'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.71 Safari/537.36'}request=urllib.request.Request(url=url,headers=headers)return requestdef get_content(request):handler=urllib.request.HTTPHandler()opener=urllib.request.build_opener(handler)response=opener.open(request)content=response.read().decode('utf-8')return contentdef down_load(content):tree=etree.HTML(content)# src图片路径 alt图片说明 懒加载问题 使用src之前的名字 src2src_list=tree.xpath('//div[@id="container"]//img/@src2')alt_list=tree.xpath('//div[@id="container"]//img/@alt')for i in range(len(src_list)):alt=alt_list[i]src=src_list[i]url='https:'+srcurllib.request.urlretrieve(url=url,filename="./Black_girls/"+alt+".jpg")if __name__ == '__main__':# 程序入口:start_page=int(input('请输入起始页码:'))end_page=int(input('请输入结束页码:'))for page in range(start_page,end_page+1):request=create_request(page)content=get_content(request)down_load(content)
注释区解读:
简单来说爬这个图片就几步:
通过检查先观察url或者其他data数据啊,有什么不同,我们求同存异;
标准流程:请求对象定制、模拟浏览器向服务器发送请求、获取响应数据开始下载
重点说一下第三步如何下载:
通过之前分享的方法我们可以获取响应数据(content)
根据lxml下的etree这个包开始解析我们想要的数据(主要就是图片的链接 src)根据下载函数urllib.requesr.urlretrieve(路径,文件名)
最重要的一点必须安装xpath插件结合chrome浏览器解析数据!!!下面是具体步骤
安装成功后就可以获取src了
获取到src和alt就可以利用循环下载一页的图片了;
注意:tree.xpath()返回的数据是列表 里面的每个索引是字符串的数据类型...
路径的拼接:"http"+src 即可
文件名的设置:当前路径表示"./" 上一级目录表示"../" 我们可以把爬取的图片资源放在一个文件夹下面(这里默认是和python文件同一个文件)所以我们就要获取当前路径 即"./文件夹名/"+alt+'文件拓展名'
小知识:
一般网页上的文件分位三种(谷歌自己开发的那个高算法图片压缩不在内)
jpg(jepg):一般用来存照片,大多数图片;
gif:一般用于存储动图;
png:针对存储有透明状态的图片;
....
最后的最后,请大家有所受益!!!
喜欢这篇文章的可以给我点下赞,加波关注,共同成长,感谢支持!!!
有疑问的同学可以私信我,咱们一起交流一下。
简单一点,利用xpath解析爬取站长素材的图片相关推荐
- Python爬虫-利用xpath解析爬取58二手房详细信息
文章目录 前言 介绍 代码 运行结果截图 前言 简单的Python练习,对页面中的某些部分的文字进行爬取 介绍 xpath解析: 最常用且最便捷高效的一种解析方式.通用型.-xpath解析原理:- 1 ...
- java分页爬取站长素材的图片
本次我们要使用 jsoup 这个html解析器来进行网页爬虫 可能有人一脸懵逼?jsoup是个什么鬼?,干哈戳子的,楞个给说说呗 1.什么是jsoup 直接看看百度百科怎么说: jsoup 是一款Ja ...
- python爬取站长素材网页图片保存到ppt中
2019独角兽企业重金招聘Python工程师标准>>> 网站地址:http://sc.chinaz.com/tupian/index.html 直接上代码: import reque ...
- Python爬虫学习第三章-4.3-使用xpath解析爬取全国城市名称
Python爬虫学习第三章-4.3-使用xpath解析爬取全国城市名称 这一节主要是使用xpath解析爬取全国城市名称 这里使用的网址是:空气质量历史数据查询 这一个案例体现的点主要是xpat ...
- 使用xpath解析爬取链家
使用xpath解析爬取链家 爬取链家 将数据存储到redis 爬取链家 from urllib import request from time import sleep from lxml impo ...
- scrapy爬取站长素材
scrapy爬取站长素材: 1.创建项目scrapy startproject 爬虫项目名字2.创建虫子scrapy genspider 虫名字3.setting里面加UA伪装4.加LOG_LEVEL ...
- scrapy图片爬取(爬取站长素材中的高清图片)
- ImagesPipeline:-只需要将img的src的属性值进行解析,提交到管道,管道就会对图片的src进行请求发送获取图片的二次请求 -需求:爬取站长素材中的高清图片-使用流程:-数据解析(图 ...
- python爬虫练习--爬取站长素材中免费简历模板
python爬虫练习--爬取站长素材中免费简历模板 一.需求 二.代码 1. 引入库 2. main() 3. saveData(div_list) 4. 收尾 结语 一.需求 此代码是为完成波波老师 ...
- python爬取京东商品图片_python利用urllib实现爬取京东网站商品图片的爬虫实例
本例程使用urlib实现的,基于python2.7版本,采用beautifulsoup进行网页分析,没有第三方库的应该安装上之后才能运行,我用的IDE是pycharm,闲话少说,直接上代码! # -* ...
最新文章
- Jupyter 快速入门——写python项目博客非常有用!!!
- 在密码学研究方面不断创新突破—— 女密码学家的成功密码
- Cisco 交换机EC 捆绑
- 全局Angular CLI版本大于本地版本
- Makefile:include和-include
- centOS 自动锁屏 解决办法
- 如何在网页中弹出的模式窗口,就像C/S中的SHOWMODAL类型窗口
- 在Windows中使用FileZilla Server创建FTP
- 研究方法、技术路线、实验手段、关键技术区别和联系
- tibco常用命令记录
- 罗格斯的计算机科学博士奖学金,移动性视角下智能城市的物理信息系统
- 苹果商店上架流程_苹果应用商店APP上架流程介绍!(ASO推广优化)
- 电磁波的达朗贝尔方程 工程电磁场P25
- matlab不是内部或外部命令_如何解决Telnet不是内部或外部命令(电脑提示telnet不是内部或外部命令...
- 财路网每日原创推送:轻信微信上的投资专家,男子亏损四十多万!
- SCIE与SCI差别是啥?
- oracle utl_file权限,Oracle内建包UTL_FILE使用说明
- cad剖切线的快捷键_cad剖切符号怎么画
- 深入浅出C语言:(四)函数
- 家电三巨头的集体突围
热门文章
- openid无效什么意思_“洋河年份原浆”商标被驳回,为什么古井贡酒坐不住了?...
- 物联网导论【刘云浩】-笔记总结
- IDA Pro基本简介
- 巨掌柜,新模式,新机遇!
- 2015自然基金一审结果:项目申请的共性问题。
- Speedoffice(excel)如何加粗边框线条
- win10 悬浮日历_Win10日历隐藏功能:可直接打印空白月历
- 云原生|kubernetes|kubeadm部署的集群的100年证书
- 【WEB项目】腾讯云服务器使用WordPress搭建网站
- 【安卓开发系列 -- 开发环境】Unbuntu 下 Android 持续集成打包环境搭建 -- Jenkins 构建工具安装(gradle + git + android 工具)