1回答

0收藏

bilibili flv格式视频下载 headers差错

问答交流 问答交流 2186 人阅读 | 1 人回复 | 2019-12-05

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 17:50:36 | 显示全部楼层


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

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

使用道具 举报