当前位置:   article > 正文

Python3 获取B站经blob处理后的真实视频下载地址_反向爬取bolb地址

反向爬取bolb地址

查看源代码,可看到现在B站的视频地址经过blob处理,而且在去掉blob之后,也是没有办法访问的,不能直接下载,那就只能去分析请求了
在这里插入图片描述

发现网页发送了这样一个请求,我们都知道B站的视频格式是 .flv的,仔细看一下这个地址的前面一小段,有…acgvideo.com…xxx.flv,大致就可以判定这就是真实的视频地址,但是直接复制这个地址去网页访问或者requests,是禁止访问的,因为B站加了反爬,需要添加请求头才行。
在这里插入图片描述
现在的问题是怎么去获取这个视频地址?要么存放在网页里,要么是经过js处理后得到的,很幸运,B站直接把这个地址放在了网页里。分析一下这个链接的请求参数,随便找一个比较有特点的参数名在网页源代码里搜一下就ok了,我这里选了trid,经过比对,发现url后面的那一长串我们想要的视频地址
在这里插入图片描述
在这里插入图片描述
以下载Dream it possible为例,用正则表达式匹配出视频地址和视频名字

import requests
import re

base_url = 'https://www.bilibili.com/video/av6499012'

#访问起始网页需添加的请求头,不加的话,得不到完整的源代码(反爬)
base_headers = {
	'User-Agent':'Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36 SE 2.X MetaSr 1.0',
	'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3',
	'Accept-Encoding': 'gzip, deflate, br',
	'Accept-Language': 'zh-CN,zh;q = 0.9'
	}

#请求视频下载地址时需要添加的请求头
download_headers = {
	'User-Agent':'Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36 SE 2.X MetaSr 1.0',
	'Referer':'https://www.bilibili.com/video/av6499012',
	'Origin':'https://www.bilibili.com',
	'Host':'upos-hz-mirrorkodou.acgvideo.com',
	'Accept':'*/*',
	'Accept-Encoding':'gzip, deflate, sdch, br',
	'Accept-Language':'zh-CN,zh;q=0.8'
	}


base_response = requests.get(base_url,headers=base_headers)
html = base_response.text
video_name = re.search('<span class="tit">(.*?)</span>',html,re.S).group(1) + '.flv'
download_url = re.search('window.__playinfo__={.*?"url":"(.*?)".*?}',html,re.S).group(1)
print(video_name)
with open(video_name, 'wb') as f:
	f.write(requests.get(download_url, headers=download_headers, stream=True, verify=False).content)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32

在这里插入图片描述
flv格式的视频可以用KMPlayer播放

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家小花儿/article/detail/63623
推荐阅读
相关标签
  

闽ICP备14008679号