python根据url下载文件

  • 背景
  • 方法

背景

一个execl文件中包含很多视频的url链接,希望批量地将这些视频下载到本地。

方法

def get_video_url(excel_path):
    import xlrd
    url_list = []
    wb = xlrd.open_workbook(excel_path)  # xlrd版本的原因可能这里会报错,修改版本可以解决,或者使用其他方法获取url链接
    sh = wb.sheet_by_index(0)
    for i in range(sh.nrows):
        url_list.append(sh.row_values(i)[1])  # url链接在excel的第二列
    return url_list

def download_video(url_list, save_folder):
    import requests
    from tqdm import tqdm
    for url in tqdm(url_list):
        file = save_folder + url.split('/')[-1] + '.mp4'  # 保存本地的路径
        r = requests.get(url)  #根据文件的大小,这一步为主要耗时步骤
        with open(file, "wb") as code:
            code.write(r.content)
    print('download over')

if __name__ == '__main__':
    excel_path = './files/url.xlsx'
    url_list = get_video_url(excel_path)
    save_folder = '/data/video/'
    download_video(url_list, save_folder)

更多推荐

python根据url链接下载文件