python批量下载文件教程_零基础Python教程:教你爬取天堂网1920*1080大图片(批量下载)...

这篇文章将针对上篇文章的未尽事宜进行完善,完成图片的批量抓取。a5f569775f11e17bcd1c8b6e9600dcccc465d9e3.png

/2 图片网址解析/

1. 我们首先来分析一下这个图片的地址在哪里。我们选择图片,然后右击网页检查,可以看到图片的路径,如下图所示。9bea6c35ec5d5d47c3c0e9ea93046f6042663075.png

2. 将其单独放出来,如下图所示。

65a6007b1429deba22afcfd57591518dc5375fea.png

3. 可以看到就是图片的链接,而src就图片的地址,所以我们可以找它的上一级标签

。如果再找不到那就再找上一级以此类推(找到越详细内容更准确)。使用选择器xpath,获取到src的值(网址后缀)之后,将后缀加上“https前缀”就可以得到每一个网址,如下图所示:7094c73dea309a7e104bac1a49ed917c0204c453.png

4. 之后尝试运行,如下图所示,可以获取到具体的网址。e243dbfc403e58893dd7dc298411f6eabfd6259f.png

5. 我们再对这个网址进行请求(参考一个请求的方法)分析数据。f9531970e0830ffe88a8f6060636a85f1208e79e.png

6. 我们以这个鱼的图片为例,点击它来到二级页面。8dbfec9b761248bbb34be90c7095d00934f1d906.png

7. 右键检查 可以看到我们要获取的是src的地址,如下图所示。9bea6c35ec5d5d47c3c0e9ea93046f6042663075.png

8. 获取图片的源码,如下图所示。475ba69f9ea9d3fc2b84c1bfb6655b1d2d991014.png

9. Xpath 获取到路径,为了方便区分图片的名字,如下图所示。7c66461c334d97a1140a6df70e083bd45df74faf.png

/3 下载图片/

1. 为方便储存,新建一个filename来作为保存的路径,如下图所示。ac6fb5e40e63775c221050983ceb7885c79810d8.png

2. 也就是说你需要在Python代码的同级目录,提前新建一个文件夹,名叫“天堂网爬的图片”,如果没有这个文件夹的话,将会报下图的错。

3. 使用with函数进行文件的打开和写入,下方代码的含义是创建一个文件,代码框里边有具体的注释。

"wb" # 意思是以二进制格式打开一个文件只用于写入。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。

"as f" # 意思是写入一个叫f的文件。

"f.wirite(html)" # 意思是说把html的内容写入f这个文件。

4. 下面是各个编码代表的含义,可以学习一下。af6c583097f04dc4b659c5b163e0eb70caf0dfba.png

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个挑选其中一个进行请求)e956bb77c58ad8100d22a0e5ff6ba60867b4032b.png

7. 最终实现的效果图,终端显示如下图所示。b8bca12196ca0a4cf579c33228845cf8b4416e41.png

将图片自动下载到本地后的效果图,高清的噢~206aa906a42b22d4585f3d92213d11b6ecfcd3ab.png

9. 至此,针对解析出来的图片地址予以批量下载的任务已经完成,接下来自己可以开心的去浏览图片啦。

10. 不建议大家爬取太多数据,这样会给服务器增大负载,浅尝辄止即可。

/4 小结/

本文基于理论篇,通过Python 中的爬虫库 requests 、lxml、fake_useragent,带大家进行网页结构的分析以及网页图片地址数据的提取,并且针对解析出来的图片地址予以批量下载,方法行之有效,欢迎大家积极尝试。我们的Python学习扣②QUN:⑧⑤⑤-④零⑧-⑧⑨③

成长离不开与优秀的同伴共同交流,如果你需要好的学习环境,好的学习资源,这里欢迎每一位热爱Python的小伙伴,与你分享互联网人才需求以及怎么从零基础学习好python,和学习什么内容。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值