梨视频把视频文件下载到本地

578 阅读1分钟
import requests
import re

url = 'https://www.pearvideo.com/video_1740646'
cont_id = url.split('_')[1]     #拿到视频ID

vediourl = 'https://www.pearvideo.com/videoStatus.jsp?contId={}&mrd=0.5613452674808277'.format(cont_id)
# 躲避反爬机制
head = {
    "User-Agent" : "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.159 Safari/537.36",
    "Referer" : url
}
#处理URL拼接问题
content_json = requests.get(vediourl,headers=head)
dict = dict(content_json.json())
srcurl = dict['videoInfo']['videos']['srcUrl']
systemtime = dict['systemTime']
result = srcurl.replace(systemtime,'cont-{}'.format(cont_id))

# 拿到视频的title以便给视频命名
vedio_t = requests.get(url)
vedio_text = vedio_t.text
#写正则过滤数据
vedio_obj = re.compile(r'<div class=".*?" id=".*?" data-type=".*?"'
                       r' data-title="(?P<vname>.*?)" data-summary=".*?" data-picurl=".*?">',re.S)
verdio_result = vedio_obj.finditer(vedio_text)
for s in verdio_result:
    vedio_title = s.group('vname')

#下载视频
with open('vedio/{}.mp4'.format(vedio_title),mode='wb') as f:
    f.write(requests.get(result).content)