首页 > 其他分享 >网络爬虫-梨视频下载

网络爬虫-梨视频下载

时间:2024-01-14 17:11:53浏览次数:34  
标签:pearvideo 视频 爬虫 mp4 https contId com 下载

一、分析

  1. 要在地址https://www.pearvideo.com/video_1747820中下载视频,首先要找打视频的源地址,查看源代码未发现有源代码,
  2. 在元素中找,视频播放的时候,在<video>标签中找下载链接

 注意:视频不播放,是看不到视频源地址的,把视频下载地址单独复制下来如下

src="https://video.pearvideo.com/mp4/short/20220815/cont-1766738-15916335-hd.mp4

3、F12网络查看请求url情况

 4、返回的数据情况,里面有一个srcURL地址,此时复制地址到浏览器中请求,并不是视频

5、对比视频请求链接数据情况:发现只有中间部分参数不一样,其余都是一样的,正常情况应该是只要把中间的参数部分替换就可以

真实视频链接 src="https://video.pearvideo.com/mp4/short/20220815/cont-1766738-15916335-hd.mp4
通过发送请求链接 https://www.pearvideo.com/videoStatus.jsp?contId=1766738&mrd=0.36519232701361704
返回数据中包含链接 https://video.pearvideo.com/mp4/short/20220815/1705219740381-15916335-hd.mp4

二、代码编写

 1、从上面分析得到,请求链接部分只有cont-xxxx这部分不同,先获取xxxx这部分的值

base_url = "https://www.pearvideo.com/video_1747820"
contId = base_url.split("_")[1]
print(contId)  #1747820

 2、重组地址,把cont-id替换到下面的请求地址的id部分

videoStatusUrl = f"https://www.pearvideo.com/videoStatus.jsp?contId={contId}&mrd=0.36519232701361704"
print(videoStatusUrl)
#https://www.pearvideo.com/videoStatus.jsp?contId=1747820&mrd=0.36519232701361704

  理论来说:此时已经拿到了视频的请求的真实链接了,再对链接发送请求就可以拿到视频

 但是,此时视频并未下线,在网页中还能正常打开并观看 ?????????????

原因是一个Referer的参数值:这里值的作用是防盗链的功能:即请求链接的时候,要溯源上到一步

 三、完整代码:

import time
import requests
base_url = "https://www.pearvideo.com/video_1747820"
contId = base_url.split("_")[1]
headers = {
    "User-Agent":
    "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36",
    #防盗链,追溯本次请求的上一级是谁
    "Referer":base_url
}
proxies = {
        'http': '127.0.0.1:1212',
        'https': '127.0.0.1:1212'
    }
#发送请求
videoStatusUrl = f"https://www.pearvideo.com/videoStatus.jsp?contId={contId}&mrd=0.36519232701361704"
resp = requests.get(url=videoStatusUrl,headers = headers,proxies = proxies,timeout = 10)
dict = resp.json()

src_URL = dict['videoInfo']['videos']['srcUrl']
#https://video.pearvideo.com/mp4/adshort/20211214/1705221754081-15805223_adpkg-ad_hd.mp4
systemTime = dict['systemTime']  #1705221754081

#需要把src_Url地址中的1705221754081换成contId的值即可
new_url = src_URL.replace(systemTime,f"contId={contId}")

#下载视频
with open("a.mp4",mode='wb')as f:
    f.write(requests.get(new_url,headers).content)
    print("视频下载完成!!")

四、总结

  本以为完事大吉了,结果。。。。。

报错:requests.exceptions.ConnectionError: (‘Connection aborted .’, ConnectionResetError(10054,“远程主机强迫关

又根据博主的已解决requests.exceptions.ConnectionError: (‘Connection aborted .’, ConnectionResetError(10054,“远程主机强迫关_requests.exceptions.connectionerror: ('connection -CSDN博客来操作了几次,还是没有解决,

又报了一个新的错误:

 

标签:pearvideo,视频,爬虫,mp4,https,contId,com,下载
From: https://www.cnblogs.com/zp513/p/17963766

相关文章

  • 网络爬虫-处理cookie登录的问题,seesion的用法
    一、以17k的小说网的登录为例,网址小说_17K小说网|最新小说下载-一起免费看小说当想要在小说网中看一下书架上的书都有哪些,必须得先登录一个账户才能看到,不同的用户登录看到内容也是不一样的,服务器是如何区分的呢?这里要引入cookie,不同的用户访问到服务器的时候,除了访问地......
  • spring下载路径
     1.https://repo.spring.io/ui/2.artifactory--->artfacts--->plugins-release--->org----->springframework--->spring选择需要的版本下载即可3.spring项目至少需要5jarspring-aop.jar开发aop特性需要的jarspring-beans.jar   处理bean的jar......
  • 再议Linux中一些发行版中默认下载或上传工具curl的使用
    在目前的CentOS最小化安装发行版中,系统默认的下载/上传工具为:curl。curl支持包括HTTP、HTTPS、ftp等众多协议,还支持POST、cookies、认证、从指定偏移处下载部分文件、用户代理字符串、限速、文件大小、进度条等特征。我们先来大概看一下curl工具的各选项的大概含义。-a/–append......
  • 如何在WSL中下载配置oh my posh美化终端
    官网地址Home|OhMyPosh其中包含了使用方法安装手册,主题分类,等一些列教学1、安装ohmyposhsudowgetsudowgethttps://github.com/JanDeDobbeleer/oh-my-posh/releases/latest/download/posh-linux-amd64-O/usr/local/bin/oh-my-poshsudochmod+x/usr/local/bin/oh......
  • 【音视频】如何部署属于自己的直播源站
    背景疫情3年过后,国内的视频直播火热不减,仍然是国内流量的主入口。本文将尝试在自己服务器配置nginx的直播服务器,并进行推流和拉流测试。 一、部署准备1、一台centos7服务器2、下载nginx-rtmp-module源码(link)3、下载nginx源码(link) 二、开始部署nginx的环境依赖需......
  • Vue项目下载依赖报错
    报错内容如下:npmERR!codeEPERMnpmERR!syscallopennpmERR!pathE:\nodejs\node_cache\_cacache\index-v5\2d\c6\f5749b7a403adaf0e2e39df42469722a24d2da8b573c676c602475e083denpmERR!errno-4048npmERR!Error:EPERM:operationnotpermitted,open�......
  • 多项式定积分计算软件2025 64位WIN版下载Polynomial definite integral calculation s
    本软件功能强大,价格实惠,欢迎试用本软件的WIN64位版本。本软件能计算如a0+a1*x+a2*x^2+......+an*a^n的式子的对b1和b2的积分的结果。具体的方法就是在多多项式系数区输入a0到an的值,然后点击计算积分结果即可在结果栏算出结果。最大项数为1000项。多项式系数输入时1项1行,从上......
  • Qt/C++编写视频监控系统83-自定义悬浮条信息
    一、前言一般视频控件上会给出个悬浮条,这个悬浮条用于显示分辨率或者一些用户期望看到的信息,一般常用的信息除了分辨率以外,还有帧率、封装格式、视频解码器名称、音频解码器名称、实时码率等,由于实际的场景不一样,用户希望能过自定义勾选开启哪些信息,开启的就显示,不开启的则可以不......
  • 【VSCode】CMake Language Support 总是下载 .NET 超时,但又不想升级dotnet
    错误信息Error:Couldnotresolvedotnetpath!Anerroroccurredwhileinstalling.NET(6.0):.NETAcquisitionFailed:Installationfailed:Error:.NETinstallationtimedout.Youmayneedtochangethetimeouttimeifyouhaveaslowconnection.Pleasesee:h......
  • Python逆向爬虫入门教程: 酷狗音乐加密参数signature逆向解析
    数据来源分析......