#-*- coding:utf-8 -*-#
#抓取视频流文件
import urllib
import requests
urls = []
urlsubs = []
def getTheUrl(url):
#tC short for theContent
tC = requests.get(url).text
if '#EXTM3U' not in tC:
raise BaseException('非M3U8的链接')
elif '.m3u8' not in tC:
file_line = tC.split('\n')
## print len(file_line)
for file in file_line:
if not '#EXT' in file:
if 'http://' in file:
urls.append(file)
else:
urls.append('/'.join(url.split('/')[:-1]) + '/' + str(file))
else:
continue
else:
file_line = tC.split('\n')
for file in file_line:
if 'https://' in file:
urlsubs.append(file)
for urlsub in urlsubs:
tC2 = requests.get(urlsub).text
file_line2 = tC2.split('\n')
for file2 in file_line2:
if not '#EXT' in file2:
urls.append('/'.join(urlsub.split('/')[:-1]) + '/' + str(file2) )
def downVideo(url):
urllib.urlretrieve(url,filename = url.split('/')[-1].split('?')[0])
## print url
##the main
m3u8 = 'https://video.acfun.cn/39ba8728bdee452881459449a4b292d9/9d6cfef478ea44ea8d8a4a3c30354818-2fbd81fe4bd6ef70ce62f3f95fefecf9-sd.m3u8?auth_key=1555067780-10105782817994e0ed039cea6fe1fb8e81f166a2d128ac021260p190p226pd6abc5d6ddf02ef-acfun-d2ccc41c130c2733ace3a305b0c7f3f7'
getTheUrl(m3u8)
for url in urls:
downVideo(url)
python下载ts文件,然后用copy /b *.ts 命令合并一下。