python爬虫简易到进阶实战篇——(3)

python简易实战(3)——图片爬取

这一篇简单介绍图片网址的requests请求,并就单张图片的网址作为例子。

在之前的网页内容返回内容中,我们总是会先考虑返回response的值,如果返回值为200,我们就判定网页访问成功,可是有时候会出现一堆乱码的情况,这是为什么呢?
接着,我们以https://img.zcool.cn/community/01f3da577dc1ac0000012e7e0651ec.jpg@1280w_1l_2o_100sh.jpg这个网页为例进行讲解,打开我们可以发现这是一张单纯的图片,里面除了图片什么都没有。
我们用requests请求后返回值页面没有问题,可当我们返回text时,出现的确是一堆乱码,如下:

import requests

url = 'https://img.zcool.cn/community/01f3da577dc1ac0000012e7e0651ec.jpg@1280w_1l_2o_100sh.jpg'
response = requests.get(url)
print(response.text)

运行后如图:
这里写图片描述

这是为什么呢?
有过了解的同学就明白这是因为图片是二进制的,需要二进制输出,而python二进制输出的格式就是用content,下面我们改变一下程序,将text改为content,再看一下运行效果:

import requests

url = 'https://img.zcool.cn/community/01f3da577dc1ac0000012e7e0651ec.jpg@1280w_1l_2o_100sh.jpg'
response = requests.get(url)
print(response.content)

结果如图:
这里写图片描述
这时候就可以发现结果有点样子了,接下来我们就需要写个东西来储存图片就行了。

我习惯用open直接打开并保存的形式,简单粗暴,具体代码如下:

import requests

url = 'https://img.zcool.cn/community/01f3da577dc1ac0000012e7e0651ec.jpg@1280w_1l_2o_100sh.jpg'
response = requests.get(url)
print(response.content)
with open('example.jpg','wb') as f:
    f.write(response.content)

其中图片的写入方式为‘wb’。
这样我们就学会了下载一张图片的方法,如果要下载多张图片,只需要加个循环就行。

下一章讲解某个网站的图片下载。

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值