进一步加大网站集约化建设力度,电子商务系统分析报告,有做美食的视频网站么,辽宁省建设厅注册中心网站↑ 关注 星标 #xff0c;后台回复【大礼包】送你2TPython自学资料好消息#xff1a;Python学习交流群#xff0c;已经建立#xff0c;猛戳加入之前我发过一些爬虫的文章#xff0c;不过一直没发过爬取图片的#xff0c;今天就给大家分享一篇吧#xff01;/1 前言/上篇… ↑ 关注 星标 后台回复【大礼包】送你2TPython自学资料好消息Python学习交流群已经建立猛戳加入之前我发过一些爬虫的文章不过一直没发过爬取图片的今天就给大家分享一篇吧/1 前言/ 上篇文章我们谈及了天堂网站图片抓取的理论这篇文章将针对上篇文章的未尽事宜进行完善完成图片的批量抓取。/2 图片网址解析/ 1. 我们首先来分析一下这个图片的地址在哪里。我们选择图片然后右击网页检查可以看到图片的路径如下图所示。 2. 将其单独放出来如下图所示。 3. 可以看到就是图片的链接而src就图片的地址所以我们可以找它的上一级标签。如果再找不到那就再找上一级以此类推(找到越详细内容更准确)。使用选择器xpath获取到src的值(网址后缀)之后将后缀加上“https前缀”就可以得到每一个网址如下图所示 4. 之后尝试运行如下图所示可以获取到具体的网址。 5. 我们再对这个网址进行请求(参考一个请求的方法)分析数据。 6. 我们以这个鱼的图片为例点击它来到二级页面。 7. 右键检查 可以看到我们要获取的是src的地址如下图所示。 8. 获取图片的源码如下图所示。 9. Xpath 获取到路径为了方便区分图片的名字如下图所示。/3 下载图片/ 1. 为方便储存新建一个filename来作为保存的路径如下图所示。 2. 也就是说你需要在Python代码的同级目录提前新建一个文件夹名叫“天堂网爬的图片”如果没有这个文件夹的话将会报下图的错。 3. 使用with函数进行文件的打开和写入下方代码的含义是创建一个文件代码框里边有具体的注释。wb # 意思是以二进制格式打开一个文件只用于写入。如果该文件已存在则将其覆盖。如果该文件不存在创建新文件。as f # 意思是写入一个叫f的文件。f.wirite(html) # 意思是说把html的内容写入f这个文件。 4. 下面是各个编码代表的含义可以学习一下。 5. 基于以上代码基本上就可实现批量下载。接下来我们继续优化一下。我们导入一个叫fake_useragent的库 fake_useragent第三方库来实现随机请求头的设置。fromfake_useragent import UserAgent ua UserAgent()print(ua.ie) #随机打印ie浏览器任意版本print(ua.firefox)#随机打印firefox浏览器任意版本print(ua.chrome) #随机打印chrome浏览器任意版本print(ua.random) #随机打印任意厂家的浏览器 6. 我们可以再初始化init方法添加ua.random让它随机的产生其中UserAgent代码如图(这里设置随机产生50个挑选其中一个进行请求) 7. 最终实现的效果图终端显示如下图所示。 8. 将图片自动下载到本地后的效果图高清的噢~ 9. 至此针对解析出来的图片地址予以批量下载的任务已经完成接下来自己可以开心的去浏览图片啦。 10. 不建议大家爬取太多数据这样会给服务器增大负载浅尝辄止即可。/4 小结/ 本文基于理论篇通过Python 中的爬虫库 requests 、lxml、fake_useragent带大家进行网页结构的分析以及网页图片地址数据的提取并且针对解析出来的图片地址予以批量下载方法行之有效欢迎大家积极尝试。如果对本文源码感兴趣网页打开链接直接下载 https://alltodata.cowtransfer.com/s/a794ef3ab7e54f推荐两个团队技术号Github研习社:目前是由国内985博士硕士组成的团体发起并运营主要分享和研究业界开源项目学习资源程序设计学术交流。回复就无套路送你一份自学大礼包。机器学习研习社目前是由国内985博士硕士组成的团体发起并运营。主要分享和研究机器学习、深度学习、NLP 、Python大数据等前沿知识、干货笔记和优质资源。回复就无套路送你一份机器学习大礼包。推荐阅读10000字Pandas基础进阶笔记如果你觉得文章有帮助点个“好看”