'''
1,通过网上的方法,用的多进程方法!效果不错,效率非常高,pool(5)--效率提高了5倍!真爽!
2,不用此方法,我之前单进程单线程,每次到70多时候就会提示timeout,给我卡死!
3,这效果真的是非常棒!
'''
from multiprocessing import Pool
import requests
url = 'https://zkgn.wb699.com/2019/06/13/KuDn70PJL1gbRUkY/out000.ts' #我在社区当片警儿
url2 = 'https://iqiyi.com-l-iqiyi.com/20190118/21145_2958fd4c/1000k/hls/f22bc583fa9000003.ts'
# 绿皮车,0001开始,一直到1855为止。
#上面是通过vip视频解析网站为中介获取的。发现每个电影-解析原地址的网站都不同啊!
def temp(i):
url = 'https://iqiyi.com-l-iqiyi.com/20190118/21145_2958fd4c/1000k/hls/f22bc583fa9000%03d.ts' % i
headers = {
"User-Agent": 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.86 Safari/537.36'
}
r = requests.get(url,headers = headers)
ret = r.content #ret 是二进制数据。
# print(ret)
print(url)
with open('E:/mp4/'+ str(i) +'.ts','wb') as f:
f.write(ret)
if __name__ == '__main__':
po = Pool(5)
for i in range(1,100):
po.apply_async(temp,(i,))
print("----start----")
po.close() # 关闭进程池,关闭后po不再接收新的请求
po.join() # 等待po中所有子进程执行完成,必须放在close语句之后
print("-----end-----")

顺序都是乱的!不错!
网友评论