推荐一下我建的python学习交流qun:850973621,群里有免费的视频教程,开发工具、
电子书籍、项目源码分享。一起交流学习,一起进步!
#-*- coding: utf-8 -*
import requests
url = 'http://www.baidu.com'
r = requests.get(url)
r.encoding = r.apparent_encoding
print(r.text)
这个在上节我们已经讲过,并不是很难,接下来来点有意思的。
我们可以利用响应的content属性来下载图片,当然也可以下载其他的文件。
首先我们在网上随便找一张图片:http://img.netbian.com/file/2018/0127/7acb22d76d5ad9706bbb4251481b2e3b.jpg
#-*- coding: utf-8 -*
import requests
src = '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 requests
src = '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
记住后缀名不能错
有问题欢迎评论
作者:渔父歌
链接:https://www.jianshu.com/p/60f7b65026fe
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。