爬取m3u8格式文件并下载ts文件转换为MP4文件
现在网上电影在线观看基本都是m3u8格式,或者经过js加密后的m3u8格式,一般来说爬m3u8文件,先刷新电影找到以m3u8结尾的文件,然后双击就将该文件下载下来,然后用记事本打开m3u8文件找到以ts文件结尾的路径并和该网站域名进行拼接,将拼接后的地址放到浏览器中会提示下载该ts文件。这时候恭喜你成功一大半了,之后就想办法把m3u8文件里的ts文件循环下载下来然后合成一个mp4文件就可以了
插入代码
import threading
import requests
from queue import Queue
import time
import os
def get_url(m3u8,wangzhangurl):if not os.path.exists("download"):#创建要下载文件的文件夹os.mkdir("download")with open(m3u8, 'r', encoding='utf-8') as pf:content = pf.readlines()#读取m3u8文件for i in content:url_half = i.strip()if url_half.endswith("ts"):#对该文件进行处理并拼接完成的url,该url文件可以获得ts文件,每个m3u8文件和电影网站域名的拼接方式都不一样,需要自己尝试拼接url_evey = wangzhangurl + url_half#将文件放入队列response_q.put(url_evey)
class Consumer(threading.Thread):def __init__(self, j):#1.继承父类init:super().__init__()self.j= j def run(self):##线程不能只干一个任务就退出,需要不断取任务:while True:##停止条件:消费者任务队列为空if response_q.empty():breaktry:#运用多线程爬ts文件url_full = response_q.get(block=False)name=str(url_full)[-20::]print(f'======{self.j}执行任务===')self.get_movie(url_full,name)print(f'======{self.j}任务完成===')except:pass# 二、解析函数:def get_movie(self,urlfull, name):#爬取ts文件并保存headers = {"User-Agent": "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3809.100 Safari/537.36"}response = requests.get(url=urlfull, headers=headers).contentwith open("download\%s" % name, "wb") as pf:pf.write(response)
def merge_ts():#定义ts合成转换MP4函数
#获取当前文件夹地址并合并下载文件夹地址file_path=os.getcwd()+"\download"file_list = os.listdir(file_path)file_list.sort()¥#对下载的ts文件进行排序#编写合并转化命令shell_strs = 'copy /b ' + file_path + "\*.ts " + file_path + "\我的老婆是大佬.mp4"#运行该命令os.system(shell_strs)
response_q = Queue()##消费者队列
#m3u8文件的路径
m3u8=r"C:\Users\Administrator\Desktop\新建文件夹\index.m3u8"
#和m3u8文件里拼接成整个ts文件的网站的地址
wangzhangurl=r"https://56.com-ok-bilibili.com/20190926/31754_e5277946/1000k/hls/"
if __name__ == '__main__':get_url(m3u8, wangzhangurl)start_time = time.time()consumer_name = ['c1', 'c2', 'c3','c4','c5','c6','c7']c_tread = []##多线程for j in consumer_name:c_crawl = Consumer(j)c_crawl.start()c_tread.append(c_crawl)##多线程阻塞主线程for treadi in c_tread:treadi.join()end_time = time.time()merge_ts()print(f'===========任务耗时{end_time-start_time}==========')
爬取m3u8格式文件并下载ts文件转换为MP4文件相关推荐
- Python爬取m3u8格式视频并解密ts文件合并转为mp4格式
一. m3u8是什么格式 m3u8是苹果公司推出的视频播放标准,是m3u的一种,只是编码格式采用的是UTF-8. m3u8准确来说是一种索引文件,使用m3u8文件实际上是通过它来解析对应的放在服务器上 ...
- python爬取m3u8格式视频
python爬取m3u8格式视频 m3u8原理 脚本环境 爬取步骤 步骤的具体实现 python细节处理说明 参考代码 m3u8原理 当我们在网页播放视频时,网页向服务器发起一个以.m3u8结尾的连接 ...
- Python爬取m3u8格式的视频
声明:本文只作学习研究,禁止用于非法用途,否则后果自负,如有侵权,请告知删除,谢谢! Python爬取m3u8格式的视频目录 背景 1.文件信息 那什么是m3u8呢? 2.构造请求获得m3u8文件 3 ...
- python根据url获得m3u8_python爬取m3u8连接的视频
本文为大家分享了python爬取m3u8连接的视频方法,供大家参考,具体内容如下 要求:输入m3u8所在url,且ts视频与其在同一路径下 #!/usr/bin/env/python #_*_codi ...
- python嗅探m3u8_python爬取m3u8连接的视频
本文为大家分享了python爬取m3u8连接的视频方法,供大家参考,具体内容如下 要求:输入m3u8所在url,且ts视频与其在同一路径下 #!/usr/bin/env/python #_*_codi ...
- python多线程爬取m3u8视频(包含AES解密)
python爬取m3u8视频(包含AES解密) 前情提要 部分代码摘录于某位大哥(写代码的时候收藏书签了的打算写博客的时候带上链接的,无奈手贱删除了chrome用户,所有的书签也没了,找到再补上),在 ...
- python 爬取m3u8 to MP4 视频
twtter 一.用postman 捋顺爬取流程 1.进行身份验证 第一次握手连接 第二次提交cookie信息,获得token信息 2.获取视频连接json数据 https://api.twitter ...
- 利用协程爬取m3u8视频
利用协程爬取m3u8视频 在进行了爬虫的相关学习之后,自己尝试爬取了一些视频,但动辄ts文件就几百个,单线程伤不起那时间,一个一个等实在太慢了,想利用多线程,查看相关资料,又说python是假的多 ...
- python lol脚本_python 爬取英雄联盟皮肤并下载的示例
爬取结果: 爬取代码 import os import json import requests from tqdm import tqdm def lol_spider(): # 存放英雄信息 he ...
- Java+Jsoup: 爬取二次元妹子图片并下载到本地(完整代码)
简介 这是一个基于Jsoup的用来爬取网页上图片并下载到本地的Java项目. 完整项目见 https://github.com/AsajuHuishi/CrawlByJsoup exe文件见getIm ...
最新文章
- Python,OpenCV轮廓属性、轮廓检测及绘制
- 人工智能将如何改进物联网?
- 开发日记-20190620 关键词 今日回顾
- 跨服务器Session共享的四种方法
- 10 分钟快速入门海量数据搜索分析引擎 Elasticearch
- js处理上下文代码的2个阶段
- java 反射机制_基础篇:深入解析JAVA反射机制
- Android 捕获异常,上报异常日志,捕获奔溃日志,bugly使用实例
- 什么是 DevSecOps?系列(一)
- 【转】《从入门到精通云服务器》第三讲-配置与升级云服务器
- via浏览器原始css,简约却不简单—via浏览器
- 前端经典练手项目|用 JavaScript 实现网页版扫雷
- P2123 皇后游戏 (贪心+公式推导)
- 苹果快捷键怎么调出来_原来还有这么好用的CAD快捷键,文末附赠快捷键鼠标垫!留言走起...
- 【icem】非结构体网格的质量+混合网格的合并问题
- YOLO-MASK对图像数据集进行清洗
- 流浪地球2真实成本多少?怎么参与?找谁参与?安全可靠吗?
- 东华大学计算机学院刘国华,刘国华(东华大学教授)_百度百科
- 纯html css动画效果,8个超震撼的HTML5和纯CSS3动画源码
- 泰克|安捷伦|普源|PICO示波器程控软件二次开发NS-Scope