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)

尾语

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

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

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

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

相关推荐
Antonio9151 分钟前
【CMake】使用CMake在Visual Studio内构建多文件夹工程
开发语言·c++·visual studio
Mr数据杨2 分钟前
我的AI工具箱Tauri版-VideoClipMixingCut视频批量混剪
音视频
!学习使我快乐!4 分钟前
检测场景变化并将视频按场景分开
音视频
LyaJpunov15 分钟前
C++中move和forword的区别
开发语言·c++
@月落19 分钟前
alibaba获得店铺的所有商品 API接口
java·大数据·数据库·人工智能·学习
程序猿练习生20 分钟前
C++速通LeetCode中等第9题-合并区间
开发语言·c++·leetcode
6230_29 分钟前
git使用“保姆级”教程1——简介及配置项设置
前端·git·学习·html·web3·学习方法·改行学it
一名路过的小码农30 分钟前
C/C++动态库函数导出 windows
c语言·开发语言·c++
m0_6312704032 分钟前
标准c语言(一)
c语言·开发语言·算法
万河归海42832 分钟前
C语言——二分法搜索数组中特定元素并返回下标
c语言·开发语言·数据结构·经验分享·笔记·算法·visualstudio