IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Python知识库 -> python下载视频【初级版】 -> 正文阅读

[Python知识库]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文件见第一个参考博客。今天很开心!

  Python知识库 最新文章
Python中String模块
【Python】 14-CVS文件操作
python的panda库读写文件
使用Nordic的nrf52840实现蓝牙DFU过程
【Python学习记录】numpy数组用法整理
Python学习笔记
python字符串和列表
python如何从txt文件中解析出有效的数据
Python编程从入门到实践自学/3.1-3.2
python变量
上一篇文章      下一篇文章      查看所有文章
加:2022-02-14 21:05:39  更:2022-02-14 21:06:16 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/16 0:39:26-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码