提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
前言
提示:这里可以添加本文要记录的大概内容:
前面只讲为什么,不写代码,代码全部放在最后
最近突然想看射雕英雄传,但是网上的视频老卡,就想自己爬取出来看(虽然在自己的音频播放器里也很卡哈哈)
提示:以下是本篇文章正文内容,下面案例可供参考
一、下载ts文件并合并
打开视频网站,点击F12,跳到网络,点击ctrl+r重新刷新,发现有很多小的文件
这些小文件就是要我们需要的视频文件
现在我们要找到他的列表进行下载
仔细查看他的最前面有两个文件:index.m3u8和mixed.m3u8
为什么他俩要最先接受呢?
点进去一看,发现他们就是我们需要的列表
我们用ai写一个正则表达式,把他从源码中抓出来
二、导出信息
mixed.m3u8中我们需要.ts文件的编号
index.m3u8中我们需要mixed文件的地址(本来读取一个就行了,这个网站的作者加了两个文件)
然后就是根据这些信息下载视频文件,最后把这些文件合成一个
三、放代码
(我知道大部分都是来看这个的,前面的就简略一些了)
代码如下(示例):
下载代码
import requests # 导入requests包
import threading
import sys
import re
import time
#用来储蓄mixed的网址
global_url=""
#获取ts文件
def get_ts_url(url):
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/125.0.0.0 Safari/537.36 Edg/125.0.0.0',
'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7',
'Accept-Language': 'zh-CN,zh;q=0.9,en;q=0.8,en-GB;q=0.7,en-US;q=0.6,zh-TW;q=0.5',
'Cache-Control': 'max-age=0',
'Cookie': 'PHPSESSID=fnb11ir6hf7n4ea5qheg66c534; Hm_lvt_632e62475bf2e5b863e145abe974c17a=1716447052,1716449150,1716452751; Hm_lpvt_632e62475bf2e5b863e145abe974c17a=1716452751',
'Sec-Fetch-Dest': 'document',
'Sec-Fetch-Mode': 'navigate',
'Sec-Fetch-Site':