当前位置: 首页 > 后端技术 > Python

教你如何爬取天唐网1920-1080大图(批量下载)——实用篇

时间:2023-03-26 00:00:40 Python

/1前言/上一篇教你如何爬取天道网1920*1080大图(批量下载)——理论我们在天堂网站上谈到了图片捕捉的理论。本篇将完善上篇未尽事宜,完成图片的批量抓取。/2图片网址解析/1.我们先分析一下这张图片的地址在哪里。我们选中图片,然后在网页上右击查看,可以看到图片的路径,如下图。2、自行布局,如下图所示。3、可以看到是图片的链接,src是图片的地址,所以我们可以找到它的父标签

    。如果再找不到,就进入下一层以此类推(内容越详细越准确)。使用选择器xpath获取src(URL后缀)的值,加上“https前缀”的后缀,获取每一个URL,如下图:4.然后尝试运行,如下图,你可以得到具体的网址。5.然后我们请求这个URL(指请求方法)来分析数据。6、我们以这条鱼的图片为例,点击进入二级页面。7、右键查看,可以看到我们要获取的是src的地址,如下图。8、获取图片源码,如下图所示。9.xpath获取路径,为了区分图片的名字,如下图。/3下载图片/1.为了保存方便,新建一个文件名作为保存路径,如下图。2、也就是说,需要提前在Python代码所在的目录下新建一个文件夹,命名为“天堂图片网爬行”。如果没有这个文件夹,就会报如下图的错误。3.使用with函数打开和写入文件。下面代码的意思是创建一个文件,代码框里有具体的注释。"wb"#表示以二进制格式打开一个文件只用于写入。如果文件已存在,则覆盖该文件。如果该文件不存在,则创建一个新文件。"asf"#表示写入名为f的文件。"f.write(html)"#表示将html的内容写入文件f中。4、以下是各个代码的含义,大家可以学习一下。5、基于以上代码,基本可以实现批量下载。接下来我们继续优化。我们导入一个名为fake_useragent的fake_useragent第三方库来实现随机请求头的设置。fromfake_useragentimportUserAgentua=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,带你解析网页结构,提取网页图片地址数据,批量下载解析后的图片地址。方法有效,欢迎大家积极尝试。如需本文源码,请在公众号【Python爬虫与数据挖掘】后台回复“高清图片”四个字获取。觉得不错记得给个star哦。往期精彩文章推荐:循序渐进教程如何用Python寻找隐藏的wifi循序渐进教程如何用Python制作可视化“剪刀石头布”游戏的循序渐进教程如何使用Python批量制作复工证想了解更多Python网络爬虫和数据挖掘知识,可以到专业网站:http://pdcfighting.com/