python下载视频【初级版】


"""
爬取 ts 视频文件
"""
import urllib.request
import urllib.parse
import re

#从网页上下载的m3u8的ts文件目录
filepath = "/Users/xxxxxxx/Desktop/Film/Final/index1.m3u8"
txt = open(filepath, "r").read()

result=""
test_text = re.findall("..............+ts", txt)#取出每行含有ts的文本
result = result +'\n'.join(test_text)#换行输出
del_awake = result.replace("/20220205/8sSQcXhX/2306kb/hls/", "")#去掉每一行一样的字符串
tspart=del_awake.split("\n")#用这个方法将tresult拆成数组
#print(tspart[193])




# 保存ts到的文件夹
dir_path = "/Users/xxxxxx/Desktop/Film"
# ts视频流的基础路径
base_url = "https://xxxx.xxxx.com:65/20220205/8sSQcXhX/2306kb/hls/"
# 文件名的通用部分
base_urlall = ""
name = ""
# 依次爬取
for i in range(0, len(tspart)):
    base_urlall = base_url + tspart[i]#把url和每个文件名拼接在一起
    #print(base_urlall)
    name = str(i) + ".ts"#生成文件名
    #print(i,"+",name)
    urllib.request.urlretrieve(base_urlall, "/Users/xxxxxxx/Desktop/Film/allts/" + name)#最关键的一步:通过Url下载视频!

"""
合并 ts 文件
"""
import os

base_path = "/Users/xxxxxxxx/Desktop/Film/allts"
dir_name = "ts_file"

# 合并文件的目标文件夹
save_path = '/Users/xxxxxxx/Desktop/Film/hebing'

# 获取ts文件目录
file_list = os.listdir(base_path)

# 保存目标目录如果不存在则创建
#if not os.path.exists(save_path):
#    os.mkdir(save_path)

#合并文件的方法,download_path是下载ts文件的目录,hebing_path是合并后的文件存放的文件
def heBingTsVideo(download_path,hebing_path):
    all_ts = os.listdir(download_path)
    with open(hebing_path, 'wb+') as f:
        for i in range(len(all_ts)):
            ts_video_path = os.path.join(download_path, all_ts[i])
            f.write(open(ts_video_path, 'rb').read())
    print("合并完成!!")

download_path = r"/Users/xxxxxxxx/Desktop/Film/allts"
hebing_path = r"/Users/xxxxxxxx/Desktop/Film/hebing/hebing.mp4"
heBingTsVideo(download_path,hebing_path)

先上代码,第一次写原创博客,不知道怎么弄,┭┮﹏┭┮。编辑的文字被代码覆盖了!

本来打算是从页面上爬取并解析视频,参考链接(python m3u8视频ts解密合成完整mp4_FeelUps--The more U Give,The More U Have-CSDN博客_python 解密ts)然后下载,可我发现我没发现那个视频网站的视频规律就放弃了。于是选择直接用index1.m3u8文件里的ts文件名拼接下载链接,然后就能下载视频(参考链接:ts视频文件的爬取与合并_纯洁的小魔鬼-CSDN博客_ts文件抓取),我也成功了,但是视频居然有2000多个ts文件,十分钟我才下载了190个,顺便吐槽一下出租屋的wifi还不如我的热点快。具体怎么下载index.m3u8文件见第一个参考博客。今天很开心!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值