您当前的位置:首页 > 计算机 > 编程开发 > Python

Python爬虫的案例分析(梨视频下载)

时间:04-03来源:作者:点击数:

我们对梨视频的站点进行分析。得出如下结论:视频地址如下,但是在源码中并没有看到,也就得出这个页面是二次渲染。我们通过浏览器,找到返回视频地址的接口

通过比对,返回的视频接口和播放地址,以及视频的初始url。得出如下结论:

视频初始url:https://www.pearvideo.com/video_1743288,

id:1743288, 替换了返回视频的时间字段。

这样我们就可以拿到视频地址了。接下来就是下载视频。

# 梨视频的下载
import requests

# 视频目标地址
url ="https://www.pearvideo.com/video_1727763"

# 组装url
contId = url.split('_')[1]
# 视频地址获取的url
url2 = f"https://www.pearvideo.com/videoStatus.jsp?contId={contId}&mrd=0.6102201652302242"

# 请求头信息
headers={
    
    # ua 的使用
    "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.45 Safari/537.36",
    
    # 防盗链的使用
    "Referer": f"https://www.pearvideo.com/video_{contId}"
}

# 发起请求,获取数据
data = requests.get(url2,headers=headers)

# 获取到数据,进行格式化替换
systemTime = data.json()['systemTime']
srcUrl = data.json()['videoInfo']['videos']['srcUrl']
srcUrl = srcUrl.replace(systemTime,f"cont-{contId}")


# 下载视频
with open(f'{contId}.mp4',mode="wb") as f:
    f.write(requests.get(srcUrl).content)

结果如下:

总结如下:很多网站的数据,不会简单的让你下载下来。它会设置各种障碍,让你无法拿取到,无论是ua还是防盗链,设置各种token加密或者js加密。我们只要有针对的找出它的逻辑。就可以解密出来,得到我们想要的数据。

方便获取更多学习、工作、生活信息请关注本站微信公众号城东书院 微信服务号城东书院 微信订阅号
推荐内容
相关内容
栏目更新
栏目热门