想知道大家知道B站哪里可以通过b站up主粉丝变化查询数搜索up主吗?

专栏/B站排行,如何高效查看B站榜单排行数据?2022年11月08日 08:41--浏览 ·
--喜欢 ·
--评论B站一直深受大部分的喜爱与青睐,随着时代发展,B站也越做越大,同时也不断踊跃出各种创作者,他们有一个统一的称呼为up主,那么大家知道B站著名的up主都有谁吗?目前B站除了百大UP主名单,暂时还没有官方的排名。但是可以可以借助B站第三方数据分析平台,查看B站各类排行榜,如充电榜、粉丝榜、涨粉榜等榜单数据。一.达人排行榜1. up主粉丝排行榜,可按up主分类、up主粉丝数实时查看up主粉丝排行来源-果集·飞瓜数据(B站版)2. Up主行业榜,可按up主分类、up主认证查看up主行业排行,也可按日榜、周榜、月榜查看来源-果集·飞瓜数据(B站版)3. up主涨粉榜,可按up主分类查看up主涨粉排行数据,也可按日榜、周榜、月榜查看数据来源-果集·飞瓜数据(B站版)4.up主成长榜,按up主分类查看up主成长排行数据,也可选择按日榜、周榜、月榜查看数据来源-果集·飞瓜数据(B站版)5.up主充电榜,按up主分类查看up主充电榜单数据,也可选择按日榜、周榜、月榜查看数据来源-果集·飞瓜数据(B站版)6. up主掉粉榜,按up主分类查看up主掉粉榜单数据,也可按日榜、周榜、月榜查看数据来源-果集·飞瓜数据(B站版)二、直播达人榜1.直播人气榜,可按up主分类、直播分类、日榜、周榜、月榜查看直播人气排行数据来源-果集·飞瓜数据(B站版)2. 直播热榜,按直播分类,提供日榜、周榜、月榜数据来源-果集·飞瓜数据(B站版)三、品牌排行榜可按品牌分类查看品牌日榜、周榜、月榜数据来源-果集·飞瓜数据(B站版)四、商品排行榜可选择商品分类查看商品周榜、月榜排行数据来源-果集·飞瓜数据(B站版)五、手游推广榜可按游戏分类查看商业推广榜的日榜及周榜排行数据来源-果集·飞瓜数据(B站版)六、热门视频榜可按视频分类筛选,查看热门视频日榜、周榜、月榜来源-果集·飞瓜数据(B站版)七、热门频道榜可按频道分类查看热门频道日榜、周榜数据来源-果集·飞瓜数据(B站版)总结:借助第三方数据分析平台查看各榜单数据,能够更便捷地知晓b站各榜单排行数据,便于我们发现优质有潜力up主、品牌等,实时掌握b站各up主数据动态。本文禁止转载或摘编------0}
功能点显示日期时间显示树莓派当前局域网IP显示当前UP主粉丝数显示B站未读消息显示B站视频总计播放数显示视频总计获赞数显示总计获得充电次数显示直播间人气值显示直播间弹幕将直播间弹幕念出来(TTS)功能是不是还挺丰富的,从写第一行代码到完成也就花了两天不到的时间,这也证明了使用python开发的高效率,下面来说说这些功能开发中我遇到了哪些问题,我又是如何解决的。大家好,我是大帅,一个老程序猿。这是我第一次写Python哟,写得不好请多多指教:P前言前段时间在掘金社区写文章,得了一台树莓派3B,加上之前在闲鱼曾经淘到一块1280x400的长条屏,就想着把一直想要的哔哩哔哩UP主助手给完成了。先上效果有弹幕的时候是这样的为什么两张截图的显示器不一样呢?哎,说起来都是眼泪,那天晚上我直播写这个代码写到凌晨2点,代码写完我准备把树莓派和显示屏都塞到一个纸盒子里,这个过程中不知道损坏了哪里,屏幕点不亮了...不过好在树莓派没问题,闲话不多说,先来看看我对于框架选型的思考框架选型为什么最后会选用Python这个我并不会的语言呢?因为最终是希望这个程序运行在树莓派上,所以首先调研了几种在树莓派上搭建GUI界面的方式。PyQt(python)Pygame(python)Electron(javascript)Flutter(dart)虽然我对3、4更加熟悉,但毕竟树莓派的性能有限,我只好弃用。1我不熟,但是在我的规划里,我并不需要一些标准化的UI组件。所以最终选择了pygame的框架,并且树莓派系统里也默认安装了pygame环境,虽从未写过python,但对python的大名如雷贯耳,早就想学习一下,正好拿这个项目练练手功能点显示日期时间显示树莓派当前局域网IP显示当前UP主粉丝数显示B站未读消息显示B站视频总计播放数显示视频总计获赞数显示总计获得充电次数显示直播间人气值显示直播间弹幕将直播间弹幕念出来(TTS)功能是不是还挺丰富的,从写第一行代码到完成也就花了两天不到的时间,这也证明了使用python开发的高效率,下面来说说这些功能开发中我遇到了哪些问题,我又是如何解决的。pygame框架pygame官网:https://www.pygame.org/pygame是python环境下最流行的游戏开发框架,当我不需要那些常见的UI组件时,使用游戏框架来开发反而更简单。# 安装pygame
pip install pygame
框架基础使用示例# 引入pygame和sys
import pygame,sys
# 定义一个run_game函数,把初始化的逻辑都放里面
def run_game():
# 初始化pygame引擎
pygame.init()
# 设置pygame窗口大小,如果设置为0,0则自动识别分辨率,相当于窗口最大化
screen = pygame.display.set_mode((600,400))
# 无限循环,游戏的主循环
while True:
# 监听消息
for event in pygame.event.get():
# 当监听到pygame的退出时,触发sys.exit退出应用
if event.type == pygame.QUIT:
sys.exit()
# 清空屏幕
screen.fill(BG_COLOR)
# 游戏绘制的主逻辑放这里
# 刷新屏幕
pygame.display.update()
# 执行run_game函数
run_game()
python对于新程序员可能挺友好的,不会对代码的编写有过多先入为主的观念。但对于已经有其他语言开发经验的我来说,也花了好一阵子才适应它的语法。pygame加载字体显示文字# 220是字号
my_font = pygame.font.Font("./路径/字体.ttf", 220)
# my_font.render(文字内容,是否抗锯齿,文字颜色,文字背景色)
text_element = my_font.render("文字内容", 1, (255,255,255))
# 计算文本渲染后的宽度高度
text_width, text_height = my_font.size("文字内容")
# 将文本元素绘制到屏幕指定坐标(元素左上角为原点)
screen.blit(text_element, (100,100)
python获取日期时间import time
def getTime():
# 获取系统本地时间
localtime = time.localtime()
# 将本地时间格式化为年月日
date_str = time.strftime("%Y 年 %m 月 %d 日", localtime)
# 将本地时间格式化为24小时制
hm_str = time.strftime("%H:%M", localtime)
# 将本地时间格式化获取秒
second_str = time.strftime("%S", localtime)
在pygame的主循环中调用getTime,并将时间文本绘制到屏幕上,一个小时钟就做好了。显示树莓派当前局域网IP为什么要显示当前IP呢,因为大部分时候我不会给树莓派连接鼠标键盘,那显示IP后就可以直接通过VNC或者SSH来连接树莓派了。网上有Python获取局域网IP的方案。这个是我用下来的最佳方案:pimport socket
def get_host_ip():
try:
s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
s.connect(('8.8.8.8', 80))
ip = s.getsockname()[0]
finally:
s.close()
return ip
显示B站各类数据这里最主要就是去抓取B站的各种API接口,这里也有热心网友整理好的一份野生API文档,大家可以自行查看使用自己需要的。https://github.com/SocialSisterYi/bilibili-API-collect这些B站的API中有一些是需要身份认证的,这就需要我们自己去chrome浏览器中提取,主要会用到两个cookie字段SESSDATACSRF Token(bili_jct)import requests
# 请求直播间弹幕列表
res = requests.get('https://api.live.bilibili.com/xlive/web-room/v1/dM/gethistory?roomid='+BILI_LIVEID)
data = res.json()
但是requests是同步执行的,会阻塞主线程的执行。比如在本例中,如果我直接使用requests发起请求,那么在请求时pygame的主逻辑循环就被卡住,这肯定不是我所希望的。网上有很多改异步的教程,我就不赘述了,这里我改用了另一个支持异步的库叫httpx,用法和普通requests无比接近import httpx
async with httpx.AsyncClient() as client:
res = await client.get('https://api.live.bilibili.com/xlive/web-room/v1/dM/gethistory?roomid='+BILI_LIVEID)
data = res.json()
然而在我设计里,要请求5个B站接口才能获取到显示的全部数据字段。这个显然也是可以优化的,而我最终选择使用uniCloud来开发一个云函数,然后将这个云函数URL化后给python使用,这也是我曾经在视频教程里提到过的,我们可以用uniCloud来开发后端接口,然后前端用Flutter或者其他任意框架,并不需要局限在uniapp。将直播间弹幕念出来(TTS)import pyttsx3
pyttsx3.speak("你好")
是的,这个pyttsx3用来做TTS很简单,但它是利用系统自带的服务来完成的。Windows系统:SAPI5MacOS:NSSpeechSynthesizerLinux:eSpeak优点就像前面的代码,使用非常简单。缺点是在各个平台不太统一,跨端也会遇到一些兼容性问题。比如我在mac上开发,在linux上运行,效果是不一样的。这个方法默认也是同步的,就是在播放语音时,是阻塞主线程的,等语音播放结束后,主线程才会继续执行。这个体验就太差了,我要等弹幕结束,弹幕才能在屏幕上跑起来。解决方案:使用Thread开启子线程执行from threading import Thread
Thread(target=pyttsx3.speak,args=('你好',)).start()
总结Python还挺好玩的,第一次写虽有一些不适应,遇到问题google一下,也能很快找到解决方案。开发效率非常高,以后有机会还会拿Python多写点东西。github仓库本项目代码已全部开源,喜欢的朋友请给个Star以示鼓励吧 https://github.com/ezshine/raspi-bilihelper作者「大帅老猿」公众号同名,欢迎关注}

我要回帖

更多关于 b站up主粉丝变化查询 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信