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}{评论,你的意见是我进步的财富!} 评论,你的意见是我进步的财富!

相关推荐
钮钴禄·爱因斯晨3 分钟前
赛博算命之“帝王之术”——奇门遁甲的JAVA实现
java·开发语言·python
dudly4 分钟前
Python字符串格式化(三): t-string前瞻(Python 3.14 新特性)
开发语言·python
kyle~8 分钟前
Pytorch---ImageFolder
人工智能·pytorch·python
向哆哆12 分钟前
Java代码重构:如何提升项目的可维护性和扩展性?
java·python·重构
开开心心就好1 小时前
高效合并 Excel 表格实用工具
开发语言·javascript·python·qt·r语言·ocr·excel
fish_study_csdn1 小时前
PyCharm接入DeepSeek,实现高效AI编程
python·pycharm·ai编程
Jo乔戈里2 小时前
ass字幕嵌入mp4带偏移
前端·python·算法
周杰伦的稻香2 小时前
WordPress通过简码插入bilibili视频
音视频
勤奋的知更鸟2 小时前
Jupyter Lab 使用从入门到精通:一站式数据科学与开发环境指南
ide·python·jupyter