you_get多进程批量下载b站视频

作为一枚码农,下载b站的时候以前虽然知道用you-get,但是还是想批量进行下载

you-get虽然可以在命令行直接下载,但是这样很费事,还是想写在一个python文件这样方便

我注意到you-get是可以开多个窗口同时下载的,这样可以提高下载速度的,不信可以试一下。但是这样得开很多个窗口,这样也是很麻烦的一件事。

然后就想到了,干脆直接在python文件里做成多进程算了。

直接看代码

import sys
from you_get import common as you_get  
from multiprocessing import Pool

#路径自己定义
directory = r'D:\C# WPF 基础+高级教程'  
base_url='https://www.bilibili.com/video/av78982708?p='
urls=[]
#获取所有需要下载的url
def get_urls(p_num):
    for i in range(1,p_num) :
        url=base_url+str(i) 
        urls.append(url)
    return urls

def download(urls):
    sys.argv = ['you-get','-o',directory,'--no-caption',urls] 
    you_get.main()

if __name__ == '__main__':
    urls= get_urls(103)
    pool = Pool(10)
    pool.map(download, urls)
    pool.close()
    pool.join()



 

你可能感兴趣的:(Python)