python新手——ts视频下载
别说我写的菜,我就是个新手能实现功能对我来说都是一个动力
url需要在你播放视频的页面点击f12打开开发者工具,选着network
点击一个ts的分段视频
复制旁边的Request URL,这个就是url
开始的ts文件名
最后的ts文件名
所以一共大概有740多的ts分段
这里就应该改成740
import requests
def pares_data(name):
#请求头文件,可能需要修改,你可以试着在网页上看看请求头,修改下下面的就可以了
#主要改origin,和referer
headers = {
"accept-encoding": "gzip, deflate, br",
"origin": "https://jx.7639616.com",
"if-range": "5bb08f07-97018",
"referer": "http://www.5nj.com/njplay/?id=https://zuikzy.yiya520.com/20180326/LUQ2vOuD/index.m3u8",
"user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.163 Safari/537.36"
}
#文件的多少
num = name+1
#几位数字,数字前加上几个0
s = str(num).zfill(5)
# 获取到url,观察就只有后面几个数字在变化,提取出来
url = "https://zuikzy.yiya520.com/20180326/LUQ2vOuD/1000kb/hls/tePouM3571" + s + ".ts";
print(url)
response = requests.get(url, headers=headers)
#获取文件的二进制代码
data = response.content
#保存数据
save_data(data,str(num))
#传入数据和名字
def save_data(data,num):
num = num.zfill(4)
with open(num+".ts","wb") as f:
f.write(data)
f.close()
from concurrent.futures import ThreadPoolExecutor# 线程池
#应该是线程池50是数量
p = ThreadPoolExecutor(50)
for name in range(1, 800): # 【根据url修改】
p.submit(pares_data,name)
然后你可以在 ts视频分段的文件夹里 建立一个bat的文件,直接把 copy /d *.ts ceshi.mp4 (意思是把当前文件下的所有ts,拷贝成ceshi.mp4)
建议先找到m3u8,然后解析找到ts地址来下载哦 大兵马元帅 发表于 2020-6-5 23:22
公司要求看网课,但是浏览器必须一直是激活状态才行,要不然就给暂停了,能让他后台放吗?谢谢了
可以用vm虚拟机安装个系统,在里面播放,缩小虚拟机就可以实现后台,就是占用比较大,还有个就是油猴,可以看看这篇文章https://blog.csdn.net/qq_40286225/article/details/102764754 不错不错哦 不错 不错不错 感谢分享
谢谢分享 aiai 发表于 2020-6-5 20:18
建议先找到m3u8,然后解析找到ts地址来下载哦
感觉那样太麻烦了,这个简单快捷,哈哈哈哈 细水流长 发表于 2020-6-5 20:36
可以参考猫抓插件里面内容,里面其实写的很好
主要是新手,我还很多不懂,就看了requests 公司要求看网课,但是浏览器必须一直是激活状态才行,要不然就给暂停了,能让他后台放吗?谢谢了