打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
python爬虫系列之 requests实战:用 requests库下载网页和图片

一、requests获取网页

#-*- coding: utf-8 -*import requestsurl = 'http://www.baidu.com'r = requests.get(url)r.encoding = r.apparent_encodingprint(r.text)

这个在上节我们已经讲过,并不是很难,接下来来点有意思的。

二、requests下载图片

我们可以利用响应的content属性来下载图片,当然也可以下载其他的文件。

首先我们在网上随便找一张图片:http://img.netbian.com/file/2018/0127/7acb22d76d5ad9706bbb4251481b2e3b.jpg

#-*- coding: utf-8 -*import requestssrc = 'http://img.netbian.com/file/2018/0127/7acb22d76d5ad9706bbb4251481b2e3b.jpg'r = requests.get(src)with open('bizhi.jpg', 'wb') as f:    f.write(r.content)print('下载完成') 

这里的 open( filename, mode ) 是 python的内置函数,用于打开一个文件,接受两个参数 filename和 mode,返回 一个 file对象。

以wb, ab, wb+, ab+, rb+模式打开的 file对象的 write方法能接收二进制数据作为参数,所以我们可以通过 write方法将二进制数据写入到 file对象对应的文件中去。

其中 filename是要打开的文件的名称,mode是打开文件的方式,mode的取值有如下几种:

模式描述
r以只读方式打开文件。文件的指针将会放在文件的开头。这是默认模式。
rb以二进制格式打开一个文件用于只读。文件指针将会放在文件的开头。这是默认模式。
r+打开一个文件用于读写。文件指针将会放在文件的开头。
rb+以二进制格式打开一个文件用于读写。文件指针将会放在文件的开头。
w打开一个文件只用于写入。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。
wb以二进制格式打开一个文件只用于写入。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。
w+打开一个文件用于读写。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。
wb+以二进制格式打开一个文件用于读写。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。
a打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。
ab以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。
a+打开一个文件用于读写。如果该文件已存在,文件指针将会放在文件的结尾。文件打开时会是追加模式。如果该文件不存在,创建新文件用于读写。
ab+以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。如果该文件不存在,创建新文件用于读写。

理论上只要有文件的真实地址,所有文件都可以通过 requests来下载,当然也包括小电影§( ̄▽ ̄)§,和下载图片类似:

#-*- coding: utf-8 -*import requestssrc = 'http://qrcode-1254412656.cosgz.myqcloud.com/sfdgfdyhtbcnhgjgm.mp4'r = requests.get(src)with open('movie.mp4', 'wb') as f:    f.write(r.content)print('下载完成')

总结:

要下载一个文件

需要文件的真实地址

用 requests获取文件

用 open函数将 返回的 r.content写入文件,模式选择 wb

记住后缀名不能错

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
Python中 with open(file
python处理二进制文件(.bin)
python文件打开访问模式有哪些?
python基础入门之十四 —— 文件操作
Python3 读写文件
必须要会的文件操作对象File,python文件读写操作利器!
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服