多媒体文件的下载包括

  • 图片
  • 音频
  • 视频
  • 文件

代码非常简单,只要准备好多媒体文件链接url和存储路径file即可,代码如下

import requests


def download(url, file):
    """
    下载多媒体及文件
    url: 多媒体文件链接(结尾有文件格式名)
    file: 存储文件的路径(结尾有文件格式名)
    """
    resp = requests.get(url)
    #获取到二进制数据
    binarydata = resp.content
    #以二进制形式将数据流存入fname中
    with open(file, 'wb') as f:
        f.write(binarydata)  

案例数据

视频由于体积太大未能上传至我的博客服务器,我为大家准备了音频、pdf文件、图片文件三种数据类型。其实不论什么类型,只要是文件,均可使用上面的download函数下载。

pics  =  ['https://hidadeng.github.io/blog/multimediaexamples/pic/about-page.jpg', 
               'https://hidadeng.github.io/blog/multimediaexamples/pic/about-us.jpg',
               'https://hidadeng.github.io/blog/multimediaexamples/pic/AI_Knowledge_intro.png', 
               'https://hidadeng.github.io/blog/multimediaexamples/pic/banner-1.jpg', 
               'https://hidadeng.github.io/blog/multimediaexamples/pic/blog-post-1.jpg',
               'https://hidadeng.github.io/blog/multimediaexamples/pic/blog-post-2.jpg',
                'https://hidadeng.github.io/blog/multimediaexamples/pic/blog-post-3.jpg']

pdfs=['https://hidadeng.github.io/blog/multimediaexamples/pdf/网络爬虫.pdf',
           'https://hidadeng.github.io/blog/multimediaexamples/pdf/相似度.pdf',
           'https://hidadeng.github.io/blog/multimediaexamples/pdf/中文可读性.pdf']


musics=['https://hidadeng.github.io/blog/multimediaexamples/music/Elastic.mp3', 
               'https://hidadeng.github.io/blog/multimediaexamples/music/HAPPYBEL.WAV',
               'https://hidadeng.github.io/blog/multimediaexamples/music/MU14.WAV', 
               'https://hidadeng.github.io/blog/multimediaexamples/music/typing.wav', 
               'https://hidadeng.github.io/blog/multimediaexamples/music/Water.mp3']

批量下载

以pdf为例

import requests

pdfs=['https://hidadeng.github.io/blog/multimediaexamples/pdf/网络爬虫.pdf',
           'https://hidadeng.github.io/blog/multimediaexamples/pdf/相似度.pdf',
           'https://hidadeng.github.io/blog/multimediaexamples/pdf/中文可读性.pdf']

def download(url, file):
    resp = requests.get(url)
    binarydata = resp.content
    with open(file, 'wb') as f:
        f.write(binarydata) 
        
for link in pdfs:
    #注意,代码运行前所在文件夹内新建一个data文件夹
    filepath='data/'+url.spit('/')[-1]
    download(url=link, file=filepath)

广而告之