python爬虫学习-反爬

学习爬虫的过程中,会遇到反爬的情况,这时可以查看是否有防盗链,即有无Reference.

import requests

'''
1、拿到contId
2、拿到videoStatus返回的json->srcURL
3、srcURL里面的东西进行修整
4、下载视频

'''
if __name__=='__main__':
    url=''#点击进入视频处的url:https://www.pearvideo.com/video_1718532
    headers={
        'user-agent':'Mozilla / 5.0(WindowsNT10.0;Win64;x64) AppleWebKit / 537.36(KHTML, likeGecko) Chrome / 96.0.4664.93Safari / 537.36',
        #防盗链:添加Referer,表示当前请求的上一级
        'Referer': url
    }
    contId = url.split("_")[1]#拿到 1718532
    videoStatusUrl=f'https://www.pearvideo.com/videoStatus.jsp?contId={contId}&mrd=0.7417349587193509'#f 格式化花括号
    resp=requests.get(videoStatusUrl,headers=headers)
    dict=resp.json()#先生成一个字典
    srcUrl=dict['videoInfo']['videos']['srcUrl']#一层一层得到srcUrl
    systemTime=dict['systemTime']
    srcUrl=srcUrl.replace(systemTime,f'cont-{contId}')#将srcUrl里面的systemTime(1642393269981)替换成cont-1718532
    print(srcUrl)
    #下载视频
    with open('lishiping.mp4',mode='wb') as f:
        f.write(requests.get(srcUrl).content)
   #真实下载视频地址,从网页源代码里面找 #url="https://video.pearvideo.com/mp4/adshort/20210212/cont-1718532-2907-104649_adpkg-ad_hd.mp4"
   #检查工具里面看到的 # srcUrl: "https://video.pearvideo.com/mp4/adshort/20210212/1642393269981-2907-104649_adpkg-ad_hd.mp4"


你可能感兴趣的:(python爬虫学习,python,爬虫,音视频)