python爬虫简易到进阶实战篇——(3)
程序员文章站
2022-06-08 16:04:12
...
python简易实战(3)——图片爬取
这一篇简单介绍图片网址的requests请求,并就单张图片的网址作为例子。
在之前的网页内容返回内容中,我们总是会先考虑返回response的值,如果返回值为200,我们就判定网页访问成功,可是有时候会出现一堆乱码的情况,这是为什么呢?
接着,我们以https://img.zcool.cn/community/[email protected]_1l_2o_100sh.jpg这个网页为例进行讲解,打开我们可以发现这是一张单纯的图片,里面除了图片什么都没有。
我们用requests请求后返回值页面没有问题,可当我们返回text时,出现的确是一堆乱码,如下:
import requests
url = 'https://img.zcool.cn/community/aaa@qq.com_1l_2o_100sh.jpg'
response = requests.get(url)
print(response.text)
运行后如图:
这是为什么呢?
有过了解的同学就明白这是因为图片是二进制的,需要二进制输出,而python二进制输出的格式就是用content,下面我们改变一下程序,将text改为content,再看一下运行效果:
import requests
url = 'https://img.zcool.cn/community/aaa@qq.com_1l_2o_100sh.jpg'
response = requests.get(url)
print(response.content)
结果如图:
这时候就可以发现结果有点样子了,接下来我们就需要写个东西来储存图片就行了。
我习惯用open直接打开并保存的形式,简单粗暴,具体代码如下:
import requests
url = 'https://img.zcool.cn/community/aaa@qq.com_1l_2o_100sh.jpg'
response = requests.get(url)
print(response.content)
with open('example.jpg','wb') as f:
f.write(response.content)
其中图片的写入方式为‘wb’。
这样我们就学会了下载一张图片的方法,如果要下载多张图片,只需要加个循环就行。
下一章讲解某个网站的图片下载。