接上一篇(B站你有点不对劲)
这两天上课加上在学习django,上次爬B站自己写了一个完整的代码忘记分享一波了。
本人自己也用了,完全可以把自己想要看的视频下载到本地,而且是最高画质的(^-^)
class GetBlibli():
def __init__(self,url):
self.headers={"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4183.83 Safari/537.36"}
self.url=url
#爬取页面解析出来想要的url
def FindSource(self):
file=BeautifulSoup(requests.get(self.url,headers=self.headers).text)
self.name=file.select("div[class='l-con'] h1")[0]["title"]
data=json.loads(file.select("script")[4].text[20:])["data"]["dash"]
self.video=data["video"][0]["baseUrl"]
self.audio=data["audio"][0]["baseUrl"]
return self.name,self.video,self.audio
#进行下载并写入文件中
def Download(self):
with open("{}.mp4".format(self.name),"wb")as V:
V.write(requests.get(self.video,headers=self.headers).content)
with open("{}.mp3".format(self.name),"wb")as A:
A.write(requests.get(self.audio,headers=self.headers).content)
print("已完成!!!")
data=GetBlibli("your video url")
data.FindSource()
data.Download()
在上一篇中也说明了B站有些不对劲的地方,如果你下载不了,极大可能是自己少了一些东西。

浙公网安备 33010602011771号