bilibili flv格式视频下载 headers差错

小小的菜鸟 2019-12-5 1470

import requests
headers = {"User-Agent": '"Mozilla/4.0 (compatible; MSIE 7.0; AOL 9.5; AOLBuild 4337.35; Windows NT 5.1; .NET CLR 1.1.4322; .NET CLR 2.0.50727)"'}
video_url = 'http://upos-hz-mirrorkodou.acgvideo.com/upgcxcode/26/57/108015726/108015726-1-30015.m4s?e=ig8euxZM2rNcNbdlhoNvNC8BqJIzNbfqXBvEqxTEto8BTrNvN0GvT90W5JZMkX_YN0MvXg8gNEV4NC8xNEV4N03eN0B5tZlqNxTEto8BTrNvNeZVuJ10Kj_g2UB02J0mN0B5tZlqNCNEto8BTrNvNC7MTX502C8f2jmMQJ6mqF2fka1mqx6gqj0eN0B599M=&uipk=5&nbs=1&deadline=1575540265&gen=playurl&os=kodou&oi=1875348075&trid=8bf5f0fc4dbc4c8782204b25b4a3844au&platform=pc&upsig=d1c792bbf7d46678a09ad5ca837186b6&uparams=e,uipk,nbs,deadline,gen,os,oi,trid,platform&mid=0'
r_content = requests.get(url=video_url, headers = headers, stream=True, verify=False).content
print(r_content)
with open('{}.flv'.format('aaa'), "wb") as f:
    f.write(r_content)

会出现403错误   您没有访问此服务器上的URL的权限。

import requests
downloadVideoHeaders = {
    'Origin': 'https://space.bilibili.com',
    'Referer': 'https://space.bilibili.com/432765031/video',
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3809.132 Safari/537.36',
}
video_url = 'http://upos-hz-mirrorkodou.acgvideo.com/upgcxcode/26/57/108015726/108015726-1-30015.m4s?e=ig8euxZM2rNcNbdlhoNvNC8BqJIzNbfqXBvEqxTEto8BTrNvN0GvT90W5JZMkX_YN0MvXg8gNEV4NC8xNEV4N03eN0B5tZlqNxTEto8BTrNvNeZVuJ10Kj_g2UB02J0mN0B5tZlqNCNEto8BTrNvNC7MTX502C8f2jmMQJ6mqF2fka1mqx6gqj0eN0B599M=&uipk=5&nbs=1&deadline=1575540265&gen=playurl&os=kodou&oi=1875348075&trid=8bf5f0fc4dbc4c8782204b25b4a3844au&platform=pc&upsig=d1c792bbf7d46678a09ad5ca837186b6&uparams=e,uipk,nbs,deadline,gen,os,oi,trid,platform&mid=0'r_content = requests.get(url=video_url,  headers = downloadVideoHeaders,stream=True,
                         verify=False).content
print(r_content)
with open('{}.flv'.format('deo'), "wb") as f:
    f.write(r_content)

不会报错  下载成功

菜鸟一只,可见帖子就知菜鸟。

需向大佬们多学习。

最新回复 (1)
  • loco 2019-12-5
    0 2

    因为防盗链...服务器对Origin和Referer进行校验的话可以避免视频被其他网站盗用(这个盗用指的是在另一个域名下的网站中直接用video标签之类的方式引用视频源)。

    而且完整复制原请求是爬虫基本操作...
    这帖给你移到问与答了,算不上分享,你也没搞清楚原因。

返回