Python爬虫第四战(使用防盗链下载视频)

本文是我在学习过程中记录学习的点点滴滴,目的是为了学完之后巩固一下顺便也和大家分享一下,日后忘记了也可以方便快速的复习。

防盗链的基本使用下载视频


前言

今天学习的主要是关于使用防盗链referer下载视频的知识的理解和应用


python 复制代码
# 1.拿到countId
# 2.拿到videoStatus返回的JSON.  -- >srcURL
# 3.srcURL里面的内容进行修整
# 4.下载视频

# 思路:
#    右击页面查看源代码,得到有效视频链接:https://video.pearvideo.com/mp4/short/20250327/cont-1799106-16048118-hd.mp4
# 通过f12查看接口信息获取:https://video.pearvideo.com/mp4/short/20250327/1744083258789-16048118-hd.mp4"
# 对比发现,真实的链接和接口拿到链接根本不一样,应该是做了加密处理,将接口链接中的数据1744083258789改成了cont-1799106,
# 而刚好发现1744083258789是接口数据中的systemTime,1799106是url链接中的最后一串字符串,
# 因此想办法先获取到接口中的视频链接和systemTime,使用.replace()方法来替换接口链接中的1744083258789

import requests
# 页面访问地址
url= "https://www.pearvideo.com/video_1799106"
# 获取url中的1799106,使用.split("_")来将链接分割成两段,拿第二个元素[1]
contid= url.split("_")[1]
# 访问此接口获取服务器返回的视频信息
videoinfourl = f"https://www.pearvideo.com/videoStatus.jsp?contId={contid}"
headers = {
"user-agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/134.0.0.0 Safari/537.36",
#    防盗链,浏览器会根据这个来溯源是从哪个页面进入到这个页面的,如果不正确则返回为空
"referer": url
}
# 调用接口获取视频信息
resp = requests.get(videoinfourl,headers=headers)
# print(resp.text)

dic = resp.json()
# 获取视频链接和systemTime
srcUrl= dic['videoInfo']['videos']['srcUrl']
systemTime = dic['systemTime']
print(srcUrl,systemTime)
# 使用.replace()来将视频链接中的1744083258789改成cont-1799106
srcUrl = srcUrl.replace(systemTime,f"cont-{contid}")
print(srcUrl)
# 下载视频
with open("a.mp4",mode="wb") as f:
    f.write(requests.get(srcUrl).content)
    print("下载完成")


💕 原创不易,还希望各位大佬支持一下 \textcolor{blue}{原创不易,还希望各位大佬支持一下} 原创不易,还希望各位大佬支持一下

👍 点赞,你的认可是我创作的动力! \textcolor{orange}{点赞,你的认可是我创作的动力!} 点赞,你的认可是我创作的动力!

⭐ 收藏,你的青睐是我努力的方向! \textcolor{red}{收藏,你的青睐是我努力的方向!} 收藏,你的青睐是我努力的方向!

🥕 评论,你的意见是我进步的财富! \textcolor{green}{评论,你的意见是我进步的财富!} 评论,你的意见是我进步的财富!

相关推荐
love530love17 小时前
【保姆级教程】阿里 Wan2.1-T2V-14B 模型本地部署全流程:从环境配置到视频生成(附避坑指南)
人工智能·windows·python·开源·大模型·github·音视频
爬虫程序猿17 小时前
利用 Java 爬虫获取淘宝商品 SKU 详细信息实战指南
java·开发语言·爬虫
He19550118 小时前
Go初级之十:错误处理与程序健壮性
开发语言·python·golang
和鲸社区18 小时前
《斯坦福CS336》作业1开源,从0手搓大模型|代码复现+免环境配置
人工智能·python·深度学习·计算机视觉·语言模型·自然语言处理·nlp
Antonio91519 小时前
【音视频】WebRTC ICE 模块深度剖析
音视频·webrtc
山河君19 小时前
webrtc之语音活动上——VAD能量检测原理以及源码详解
算法·音视频·webrtc·信号处理
豌豆花下猫19 小时前
Python 潮流周刊#118:Python 异步为何不够流行?(摘要)
后端·python·ai
THMAIL19 小时前
深度学习从入门到精通 - LSTM与GRU深度剖析:破解长序列记忆遗忘困境
人工智能·python·深度学习·算法·机器学习·逻辑回归·lstm
wheeldown19 小时前
【数学建模】数据预处理入门:从理论到动手操作
python·数学建模·matlab·python3.11
多打代码20 小时前
2025.09.05 用队列实现栈 & 有效的括号 & 删除字符串中的所有相邻重复项
python·算法