python 下载A站的planetEarth

本文介绍了一种使用Python从M3U8链接中抓取视频流并下载TS文件的方法。通过解析M3U8文件,获取所有视频片段的URL,并使用urllib进行下载。最后,通过命令行工具将下载的TS文件合并为完整的视频。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

#-*- 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 命令合并一下。

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值