资讯专栏INFORMATION COLUMN

【Python爬虫】腾讯视频m3u8格式分析爬取(附源码,高清无水印)

godlong_X / 2984人阅读

摘要:普通爬虫正常流程数据来源分析发送请求获取数据解析数据保存数据环境介绍专业版付费完整版只要看了就能学会的教程,集基础入门视频教学点这里即可免费在线观看分析网站先打开开发者工具,然后搜索,会返回给你很多的的文件,像

普通爬虫正常流程:

  1. 数据来源分析
  2. 发送请求
  3. 获取数据
  4. 解析数据
  5. 保存数据

环境介绍

  • python 3.8
  • pycharm 2021专业版

【付费VIP完整版】只要看了就能学会的教程,80集Python基础入门视频教学

点这里即可免费在线观看

分析网站

先打开开发者工具,然后搜索m3u8,会返回给你很多的ts的文件,像这种ts文件,就是视频的片段

我们可以复制url地址,在新的浏览页打开

然后会给我们下载ts的文件,打开文件,就会发现是十多秒的视频片段

所以说这些数据的数据还是比较好找的,只要我们找到地址是从哪里来的

找到url地址,因为是post请求,所以需要下面的表达参数

开始代码

导入模块

import requestsimport refrom tqdm import tqdm # 进度条展示

数据请求

url = "https://vd.l.qq.com/proxyhttp"data = {"buid":"vinfoad","adparam":"pf=in&ad_type=LD%7CKB%7CPVL&pf_ex=pc&url=https%3A%2F%2Fv.qq.com%2Fx%2Fcover%2Fj3czmhisqin799r.html&refer=https%3A%2F%2Fv.qq.com%2Fx%2Fsearch%2F&ty=web&plugin=1.0.0&v=3.5.57&coverid=j3czmhisqin799r&vid=z002615k57t&pt=&flowid=e9b3e49b2593efd194cbcd24030ed803_10201&vptag=www_baidu_com%7Cvideo%3Aposter_tle&pu=-1&chid=0&adaptor=2&dtype=1&live=0&resp_type=json&guid=4b4e192e83f4abaf8b68df3e4f5be769&req_type=1&from=0&appversion=1.0.166&uid=522810848&tkn=fbYfeWDCLKtAaOd_OGvCNg..<=qq&platform=10201&opid=5FE180427A4C883F69CADDED665CE99B&atkn=49C1A486316C8D269AC65AAC080CFB29&appid=101483052&tpid=1&rfid=86c3f668da63d8bc7aab3fbc1eb7378a_1633763084","vinfoparam":"spsrt=1&charge=0&defaultfmt=auto&otype=ojson&guid=4b4e192e83f4abaf8b68df3e4f5be769&flowid=e9b3e49b2593efd194cbcd24030ed803_10201&platform=10201&sdtfrom=v1010&defnpayver=1&appVer=3.5.57&host=v.qq.com&ehost=https%3A%2F%2Fv.qq.com%2Fx%2Fcover%2Fj3czmhisqin799r.html&refer=v.qq.com&sphttps=1&tm=1633767536&spwm=4&logintoken=%7B%22main_login%22%3A%22qq%22%2C%22openid%22%3A%225FE180427A4C883F69CADDED665CE99B%22%2C%22appid%22%3A%22101483052%22%2C%22access_token%22%3A%2249C1A486316C8D269AC65AAC080CFB29%22%2C%22vuserid%22%3A%22522810848%22%2C%22vusession%22%3A%22fbYfeWDCLKtAaOd_OGvCNg..%22%7D&vid=z002615k57t&defn=fhd&fhdswitch=0&show1080p=1&isHLS=1&dtype=3&sphls=2&spgzip=1&dlver=2&drm=32&hdcp=0&spau=1&spaudio=15&defsrc=2&encryptVer=9.1&cKey=W5agxKnJ7N56KJEItZs_lpJX5WB4a2CdS8kEIo8rVaqtHEZQ1c_W6myJ8hQXnmDDG8ErEJDMLjvm2vPBr-xE-uhvZyEMY131vUh1H4pgCXe2OphM_H32Jqtu2hFoqfA-un0sVBkIXYfWkOdABnbLUo4RgzSXkBHF3N3K7dNKPg_56X9JO3gwBMyBeAex05x8SbbQKY5AXaDVSM7hsBQ8XEeHzIEGJzlCt94ONgPYVSRkZqo51NVr_Bs8h4-UNLT0jG-obbyNs2IJhrZ4JUBeuGEk8zAOhE9HTZPNDViLRIyt2mNDud09qSLLKl4XAj3CE6i26P6BRyAy1_qatijXkm9J1hs3ZYC7dgYmAZD6BE9UGX4hkziTy-Y8cCBppeEBGSaj9w&fp2p=1&spadseg=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 = requests.get(url=m3u8_url).textm3u8_data = re.sub("#EXTM3U", "", m3u8_data)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 = "https://apd-57c5d150c8b9788baf40ea4f65feddf8.v.smtcdns.com/moviets.tc.qq.com/A2k4JuW9ATia8thdFQ6y5HWRUGLqAr4L5fk9KFbAUEI8/uwMROfz2r5xgoaQXGdGnC2df64gVTKzl5C_X6A3JOVT0QIb-/doVi4hWq0sqexPo_ylKYxVIJdr9zz2VweWbcY7x70kRnbVNPvBaoTsjwfOq1uojOtsRKJ8r3372HRaTOVg4VyKOFFvzjq2EeMdpleIIyTv0tb-C3CzXmkZz-34hK4Fc-r4mZK55L9W1RqJMpsvrORZr_sqpqvGZrrRq830get0NLJGkeAQ9SBg/" + ts    ts_content = requests.get(url=ts_url).content

保存数据

with open("霸王别姬.mp4", mode="ab") as f:    f.write(ts_content)print("下载完成")

运行代码

对于本篇文章有疑问,或者想要Python相关资料的同学也可以点这里

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/122576.html

相关文章

  • 首次公开,整理12年积累的博客收藏夹,零距离展示《收藏夹吃灰》系列博客

    摘要:时间永远都过得那么快,一晃从年注册,到现在已经过去了年那些被我藏在收藏夹吃灰的文章,已经太多了,是时候把他们整理一下了。那是因为收藏夹太乱,橡皮擦给设置私密了,不收拾不好看呀。 ...

    Harriet666 评论0 收藏0
  • PyCon China 深圳站精彩回顾(PPT及视频

    摘要:月日,第六届大会在深圳召开。这是这次大会的第二站活动,第一站已在上海成功举办。深圳站视频及,请在公众号后台回复,获取分享链接。据介绍,目前支持多种开发库,如内置和等。该协议的推出,是为了统一标准,提高效率。 本文为 PyChina 和「编程派」联合首发,作者为 EarlGrey。「编程派」是一个专注 Python 学习交流的微信公众号。 9 月 25 日,第六届 PyCon China...

    lykops 评论0 收藏0
  • 我用Python爬取了女神视界,爬虫之路永止境「内源码

    摘要:我发现抖音上很多小姐姐就拍个跳舞的视频就火了,大家是冲着舞蹈水平去的吗,都是冲着颜值身材去的,能刷到这篇文章的都是了,我就跟大家不一样了,一个个刷太麻烦了,我直接爬下来看个够,先随意展示两个。 我发现抖音上很多小姐姐就拍个跳舞的视频就火了,大家是冲着舞蹈水平去的吗,都是冲着颜值身材去的,能刷...

    niuxiaowei111 评论0 收藏0
  • Python 网络爬虫实战:抖音短视频水印爬虫详解

    摘要:我们知道,在抖音中下载到的视频是有水印的,这就催生出了很多抖音短视频去水印的解析网站,小程序等。禁止重定向,设置运行结果,是一个标签,便是重定向后的地址。 我们知道...

    hlcc 评论0 收藏0
  • 如何快速掌握Python数据采集与网络爬虫技术

    摘要:通过本文的学习,可以快速掌握网络爬虫基础,结合实战练习,写出一些简单的爬虫项目。从技术手段来说,网络爬虫有多种实现方案,如。二网络爬虫技术基础在本次课中,将使用技术手段进行项目的编写。 摘要:本文详细讲解了python网络爬虫,并介绍抓包分析等技术,实战训练三个网络爬虫案例,并简单补充了常见的反爬策略与反爬攻克手段。通过本文的学习,可以快速掌握网络爬虫基础,结合实战练习,写出一些简单的...

    W4n9Hu1 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<