接上一篇(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站有些不对劲的地方,如果你下载不了,极大可能是自己少了一些东西。
posted @ 2020-09-26 20:14  starandsteve  阅读(203)  评论(0)    收藏  举报