将白嫖进行到底?简单爬虫爬取B站视频 |
您所在的位置:网站首页 › bilibili怎么白嫖视频 › 将白嫖进行到底?简单爬虫爬取B站视频 |
文章目录
起因一步步实现方法一方法二
代码结果最后
起因
作为一个B站的忠实粉丝,每天睡前和起床刷一下视频那是必须的。不过一般我都是在手机上刷,昨天用电脑刷的时候本来想下载一个视频,但是发现网页居然没有app的缓存功能,所以无奈只能自己动手写一个来下载视频了。(本来昨晚写完,辛辛苦苦还录了视频给B站投稿的,结果今天说内容违规无奈) 一步步实现 方法一
大致思路和上面一样,只是我在network中找到了一个api 这个代码是第一种方法的代码,第二种也很简单,可以自己动手试一下,只要注意headers参数就好 import requests import re def get_html(url): return requests.get(url,headers=headers1).text def parse(html): video_name=re.findall('(.*?)',html,re.S)[0]+'.flv'#本来是m4s,但是电脑打不开所以还是用flv print("正在爬取"+video_name+"...") video_url=re.findall('window.__playinfo__={.*?"baseUrl":"(.*?)".*?}',html,re.S)[0] # print(video_url) return video_url,video_name def download(videourl,video_name): with open(video_name,'wb') as f: f.write(requests.get(videourl,headers=headers2,stream=True,verify=False).content) f.close() print("视频下载完成!") if __name__ == '__main__': avid=input("请输入要爬取的视频id:") base_url=f'https://www.bilibili.com/video/av{avid}' headers1={ 'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.130 Safari/537.36', 'Host': 'www.bilibili.com', 'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9', 'Accept-Encoding':'gzip, deflate, br', 'Accept-Language':'zh-CN,zh;q=0.9', 'Cache-Control': 'max-age=0', 'Connection': 'keep-alive' } headers2={ 'Host':'cn-jsnj3-cmcc-v-14.bilivideo.com', 'Accept-Encoding':'identity', 'Accept-Language':'zh-CN,zh;q=0.9', 'Origin':'https://www.bilibili.com', 'Referer':base_url, 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.130 Safari/537.36' } html=get_html(base_url) videourl,videoname=parse(html) download(videourl,videoname) 结果
白嫖只是说着玩玩,循环爬取也不可取,不要给服务器太大压力。B站up主们做视频也很不容易,我们可以从丰富的优质内容视频中学到很多东西,所以拒绝下次一定,不做白嫖党!!! |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |