先看爬取成果:

把美女图片下载到一个专门的文件夹下,时不时浏览一下时不时很称心如意呢?(无图展示)

具体流程:
首先来到站长之家: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解析爬取站长素材的图片相关推荐

  1. Python爬虫-利用xpath解析爬取58二手房详细信息

    文章目录 前言 介绍 代码 运行结果截图 前言 简单的Python练习,对页面中的某些部分的文字进行爬取 介绍 xpath解析: 最常用且最便捷高效的一种解析方式.通用型.-xpath解析原理:- 1 ...

  2. java分页爬取站长素材的图片

    本次我们要使用 jsoup 这个html解析器来进行网页爬虫 可能有人一脸懵逼?jsoup是个什么鬼?,干哈戳子的,楞个给说说呗 1.什么是jsoup 直接看看百度百科怎么说: jsoup 是一款Ja ...

  3. python爬取站长素材网页图片保存到ppt中

    2019独角兽企业重金招聘Python工程师标准>>> 网站地址:http://sc.chinaz.com/tupian/index.html 直接上代码: import reque ...

  4. Python爬虫学习第三章-4.3-使用xpath解析爬取全国城市名称

    Python爬虫学习第三章-4.3-使用xpath解析爬取全国城市名称   这一节主要是使用xpath解析爬取全国城市名称 这里使用的网址是:空气质量历史数据查询   这一个案例体现的点主要是xpat ...

  5. 使用xpath解析爬取链家

    使用xpath解析爬取链家 爬取链家 将数据存储到redis 爬取链家 from urllib import request from time import sleep from lxml impo ...

  6. scrapy爬取站长素材

    scrapy爬取站长素材: 1.创建项目scrapy startproject 爬虫项目名字2.创建虫子scrapy genspider 虫名字3.setting里面加UA伪装4.加LOG_LEVEL ...

  7. scrapy图片爬取(爬取站长素材中的高清图片)

    - ImagesPipeline:-只需要将img的src的属性值进行解析,提交到管道,管道就会对图片的src进行请求发送获取图片的二次请求 -需求:爬取站长素材中的高清图片-使用流程:-数据解析(图 ...

  8. python爬虫练习--爬取站长素材中免费简历模板

    python爬虫练习--爬取站长素材中免费简历模板 一.需求 二.代码 1. 引入库 2. main() 3. saveData(div_list) 4. 收尾 结语 一.需求 此代码是为完成波波老师 ...

  9. python爬取京东商品图片_python利用urllib实现爬取京东网站商品图片的爬虫实例

    本例程使用urlib实现的,基于python2.7版本,采用beautifulsoup进行网页分析,没有第三方库的应该安装上之后才能运行,我用的IDE是pycharm,闲话少说,直接上代码! # -* ...

最新文章

  1. Jupyter 快速入门——写python项目博客非常有用!!!
  2. 在密码学研究方面不断创新突破—— 女密码学家的成功密码
  3. Cisco 交换机EC 捆绑
  4. 全局Angular CLI版本大于本地版本
  5. Makefile:include和-include
  6. centOS 自动锁屏 解决办法
  7. 如何在网页中弹出的模式窗口,就像C/S中的SHOWMODAL类型窗口
  8. 在Windows中使用FileZilla Server创建FTP
  9. 研究方法、技术路线、实验手段、关键技术区别和联系
  10. tibco常用命令记录
  11. 罗格斯的计算机科学博士奖学金,移动性视角下智能城市的物理信息系统
  12. 苹果商店上架流程_苹果应用商店APP上架流程介绍!(ASO推广优化)
  13. 电磁波的达朗贝尔方程 工程电磁场P25
  14. matlab不是内部或外部命令_如何解决Telnet不是内部或外部命令(电脑提示telnet不是内部或外部命令...
  15. 财路网每日原创推送:轻信微信上的投资专家,男子亏损四十多万!
  16. SCIE与SCI差别是啥?
  17. oracle utl_file权限,Oracle内建包UTL_FILE使用说明
  18. cad剖切线的快捷键_cad剖切符号怎么画
  19. 深入浅出C语言:(四)函数
  20. 家电三巨头的集体突围

热门文章

  1. openid无效什么意思_“洋河年份原浆”商标被驳回,为什么古井贡酒坐不住了?...
  2. 物联网导论【刘云浩】-笔记总结
  3. IDA Pro基本简介
  4. 巨掌柜,新模式,新机遇!
  5. 2015自然基金一审结果:项目申请的共性问题。
  6. Speedoffice(excel)如何加粗边框线条
  7. win10 悬浮日历_Win10日历隐藏功能:可直接打印空白月历
  8. 云原生|kubernetes|kubeadm部署的集群的100年证书
  9. 【WEB项目】腾讯云服务器使用WordPress搭建网站
  10. 【安卓开发系列 -- 开发环境】Unbuntu 下 Android 持续集成打包环境搭建 -- Jenkins 构建工具安装(gradle + git + android 工具)