环境
语言环境:python3.6
操作系统:Win10
第三方库
requests
互联网上的资源大都是以二进制形式存储和运输的,如图片、pdf、音频、视频等,像.dat、.ts等这些不常用的文件也都是二进制。我们知道python3爬虫是利用爬虫模拟浏览器向服务端发送请求,并解析服务器返回来的响应,像上述这些文件都是以二进制形式返回到本地客户端的。而response对象的属性content表示的则是HTTP响应内容的二进制形式,利用该属性,我们可以通过代码对网上资源进行下载
下载这些资源最重要的一点就是,你要知道这些文件在哪儿,也就是他们的URL,即他们的连接
下载图片
链接:美女长发披肩背影美图
代码实现
import requests
url = 'https://img-blog.csdnimg.cn/20181119214250858.png'
r = requests.get(url)
img = r.content #响应的二进制文件
with open('美女.png','wb') as f: #二进制写入
f.write(img)
下载pdf
下载链接:http://47.106.94.154/study_file/hdu-multi6-fzdx.pdf
代码实现
import requests
url = 'http://47.106.94.154/study_file/hdu-multi6-fzdx.pdf'
r = requests.get(url)
pdf = r.content #响应的二进制文件
with open('杭电多校第六场.pdf','wb') as f: #二进制写入
f.write(pdf)
效果图
当然,本篇博文针对的只是文件的下载,当然对于这样一个两个文件完全可以手动下载,而且一般情况下资源的URL不一定说能找到就能找到的,但对于处理大批量文件来说通过脚本实现就非常容易了
以下是一个处理大量文件的例子:Python3批量下载.dat和.hea文件