Python实战 | 如何抓取腾&讯视频

嗨喽~大家好呀,这里是魔王呐 ❤ ~!

[python更多源码/资料/解答/教程等 点击此处跳转文末名片免费获取](#python更多源码/资料/解答/教程等 点击此处跳转文末名片免费获取)

爬虫:

作用: 批量采集数据 / 模拟用户行为

原理: 模拟成 客户端 向 服务器 发送网络请求

环境介绍:

  • python 3.8 解释器

  • pycharm 编辑器

第三方模块:

  • requests >>> pip install requests

  • tqdm >>> pip install tqdm

模块安装:

win + R 输入cmd 输入安装命令 pip install 模块名 (如果你觉得安装速度比较慢, 你可以切换国内镜像源)

实现一个爬虫案例:

  1. 找数据

    m3u8 视频流

    mp4 1:00:00 10s为一个片段 360个片段 每个片段为一个视频文件 .ts

    所有的.ts后缀的视频文件地址 存储到一个文本文件当中 .m3u8

    找 .m3u8 这个文件 找到他 我们就可以去下载这个视频了

    https://f3391cba103b6a8264fc3c9e94606424.v.smtcdns.com/vipts.tc.qq.com/A76wLQY3sMxau30YvTaKOxtigWZqDWZbRZ-halc9ZfOQ/B_tRCdt2L6hl1ezG-aht1_p7GvaLBNzsRdJxWJcVS2pfaZ0OAEYH2aMWJGYS0e5l6q/svp_50112/_mwejXA_NuoJo3UmcI5sACyBgOz1bMgT33K-QfNGGUm33saIjJ3wZ3s8zCaccLPBRYzwPbBJMjuiwj22dJsQ5idKx2bGvNsTWVwYCUuOGFdTrd0VBotPoW2ydxmkfsHV-zzcuoZEwHVbcEifiQFxL1jOnfepg96z2F8RRsVWI6H4tMv7TgpVArjrFUwGqlTRyku1b2lpG2lLl_TRWjEeLFa9tlJCmlHDc6EYIZk-9u6OKHWaZLgQtA/gzc_1000102_0b53faaggaaat4aheps3w5s4akgdmmxaaz2a.f322016004.ts.m3u8?ver=4

  2. 代码实现

    用代码访问这个链接

代码展示

python 复制代码
'''
遇到问题没人解答?小编创建了一个Python学习交流QQ群:926207505
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
import requests     # 需要额外安装
import re
from tqdm import tqdm

url = 'https://f3391cba103b6a8264fc3c9e94606424.v.smtcdns.com/vipts.tc.qq.com/A76wLQY3sMxau30YvTaKOxtigWZqDWZbRZ-halc9ZfOQ/B_tRCdt2L6hl1ezG-aht1_p7GvaLBNzsRdJxWJcVS2pfaZ0OAEYH2aMWJGYS0e5l6q/svp_50112/_mwejXA_NuoJo3UmcI5sACyBgOz1bMgT33K-QfNGGUm33saIjJ3wZ3s8zCaccLPBRYzwPbBJMjuiwj22dJsQ5idKx2bGvNsTWVwYCUuOGFdTrd0VBotPoW2ydxmkfsHV-zzcuoZEwHVbcEifiQFxL1jOnfepg96z2F8RRsVWI6H4tMv7TgpVArjrFUwGqlTRyku1b2lpG2lLl_TRWjEeLFa9tlJCmlHDc6EYIZk-9u6OKHWaZLgQtA/gzc_1000102_0b53faaggaaat4aheps3w5s4akgdmmxaaz2a.f322016004.ts.m3u8?ver=4'
m3u8_text = requests.get(url).text
# 下载视频
#   所有的ts 片段视频链接获取到了 但是 链接不够完整
#   并且链接 现在还不能单独提取出来
m3u8_text = re.sub('#E.*', '', m3u8_text)
sub_ts = url.split('gzc')[0]
ts_list = m3u8_text.split()
for ts in tqdm(ts_list):
    ts_url = sub_ts + ts
    # 批量访问 ts_url 拿到 ts对应的视频数据 并且保存合并
    ts_data = requests.get(ts_url).content
    with open('吞噬星空.mp4', mode='ab') as f:
        f.write(ts_data)

尾语

最后感谢你观看我的文章呐~本次航班到这里就结束啦 🛬

希望本篇文章有对你带来帮助 🎉,有学习到一点知识~

躲起来的星星🍥也在努力发光,你也要努力加油(让我们一起努力叭)。

最后,宣传一下呀~👇👇👇更多源码、资料、素材、解答、交流皆点击下方名片获取呀👇👇

相关推荐
Want5953 分钟前
C/C++圣诞树①
c语言·开发语言·c++
老赵的博客14 分钟前
c++ 杂记
开发语言·c++
jimmy.hua17 分钟前
[C++刷怪笼]:set/map--优质且易操作的容器
开发语言·c++
XiaoMu_00127 分钟前
基于Python+Streamlit的旅游数据分析与预测系统:从数据可视化到机器学习预测的完整实现
python·信息可视化·旅游
THMAIL30 分钟前
深度学习从入门到精通 - 生成对抗网络(GAN)实战:创造逼真图像的魔法艺术
人工智能·python·深度学习·神经网络·机器学习·生成对抗网络·cnn
speop1 小时前
llm的一点学习笔记
笔记·学习
非凡ghost1 小时前
FxSound:提升音频体验,让音乐更动听
前端·学习·音视频·生活·软件需求
w2sfot1 小时前
Passing Arguments as an Object in JavaScript
开发语言·javascript·ecmascript
Ai工具分享1 小时前
视频画质差怎么办?AI优化视频清晰度技术原理与实战应用
人工智能·音视频
郝学胜-神的一滴2 小时前
避免使用非const全局变量:C++中的最佳实践 (C++ Core Guidelines)
开发语言·c++·程序人生