【Python爬虫】腾讯视频m3u8格式分析爬取(附源码,高清无水印)
【Python爬⾍】腾讯视频m3u8格式分析爬取(附源码,⾼清⽆⽔印)
普通爬⾍正常流程:
1. 数据来源分析
2. 发送请求
3. 获取数据
4. 解析数据
5. 保存数据
环境介绍
python 3.8
pycharm 2021专业版
分析⽹站
先打开开发者⼯具,然后搜索m3u8,会返回给你很多的ts的⽂件,像这种ts⽂件,就是视频的⽚段
我们可以复制url地址,在新的浏览页打开
然后会给我们下载ts的⽂件,打开⽂件,就会发现是⼗多秒的视频⽚段
所以说这些数据的数据还是⽐较好的,只要我们到地址是从哪⾥来的
到url地址,因为是post请求,所以需要下⾯的表达参数
开始代码
导⼊模块
import requests
import re
from tqdm import tqdm # 进度条展⽰
数据请求
url = 'vd.l.qq/proxyhttp'
data = {"buid":"vinfoad","adparam":"pf=in&ad_type=LD%7CKB%7CPVL&pf_ex=pc&url=https%3A%2F%2Fv.qq%2Fx%2Fcover%2Fj3czmhisqin799r.html&refer=https%3A%2F%2Fv.qq%2Fx%2Fsearch%2F&ty=web&plugin=1.0.0&v=3 headers = {
'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.71 Safari/537.36'
}
response = requests.post(url=url, json=data, headers=headers)
提取数据
html_data = response.json()['vinfo']
# 正则表达式
m3u8_url = re.findall("url(.*?),", html_data)[3].split('"')[2]
m3u8_data = (url=m3u8_url).text
m3u8_data = re.sub('#EXTM3U', '', m3u8_data)qq用户名
m3u8_data = re.sub('#EXT-X-VERSION:\d', '', m3u8_data)
m3u8_data = re.sub('#EXT-X-MEDIA-SEQUENCE:\d', '', m3u8_data)
m3u8_data = re.sub('#EXT-X-TARGETDURATION:\d+', '', m3u8_data)
m3u8_data = re.sub('#EXT-X-PLAYLIST-TYPE:VOD', '', m3u8_data)
m3u8_data = re.sub('#EXTINF:\d+\.\d+,', '', m3u8_data)
m3u8_data = re.sub('#EXT-X-ENDLIST', '', m3u8_data).split()
遍历
for ts in tqdm(m3u8_data):
ts_url = 'apd-57c5d150c8b9788baf40ea4f65feddf8.v.qq/A2k4Ju
W9ATia8thdFQ6y5HWRUGLqAr4L5fk9KFbAUEI8/uwMROfz2r5xgoaQXGdGnC2df64gVTKzl5C_X6A3JOVT0QIb-/doVi4hWq0sqexPo_ylKYxV    ts_content = (url=ts_url).content
保存数据
with open('霸王别姬.mp4', mode='ab') as f:
f.write(ts_content)
print('下载完成')
运⾏代码

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。