Python实现B站粉丝数实时监控与获取
本文介绍如何使用Python通过B站开放API获取用户粉丝数。提供基础查询与带异常处理、定时轮询的监控脚本示例,涵盖requests库安装、UID配置及数据解析步骤,帮助开发者实现粉丝数量变化的自动检测。
环境配置与基础获取
运行代码前需确保环境已安装Python 3.x版本,并通过命令行执行pip install requests json time命令安装必要的依赖库。复制提供的代码模板,将文件顶部的变量替换为目标的B站用户UID,保存为.py格式文件后运行即可。
以下是用于学习和理解核心逻辑的代码片段:
import requests
import json
bilibili_api = requests.get("http://api.bilibili.com/x/relation/stat?vmid=1") # 访问网址,数据存到变量,1是用户UID
extracting_json = bilibili_api.text # 提取bilibili_api的text数据
python_dictionary = json.loads(extracting_json) # json对象转换为python字典
print(python_dictionary['data']['follower']) # 访问python对象,data里的follower
实时监控脚本实现
完整功能实现如下:
import requests
import json
import time
# 需要修改的变量
uid = 9824766 # 用户UID
sleep_second = 60 # 多少秒检测一次
# 预定义变量 (不能修改)
assigned_value = 0 # 旧粉丝数变量是否赋值
fans_num_old = 0 # 上一次的粉丝数
while True:
# 尝试访问链接,如果OSError输出连接失败,并break。
try:
bilibili_api = requests.get("http://api.bilibili.com/x/relation/stat?vmid={}".format(uid)) # 访问网址,数据存到变量
except OSError:
print('连接失败')
break
extracting_json = bilibili_api.text # 提取bilibili_api的text数据
python_dictionary = json.loads(extracting_json) # json对象转换为python字典
# 如果发送请求过多,被系统禁止获取数据,则提示并退出程序
try:
fans_num = python_dictionary['data']['follower'] # 粉丝数,访问python对象,data里的follower
except TypeError:
print('请求被拦截,需要更换IP访问')
break
# 判断旧粉丝数变量,是否被首次赋值
if assigned_value != 1:
fans_num_old = fans_num
assigned_value = 1
# 判断粉丝数是否变化
if fans_num_old != fans_num:
num_change = fans_num - fans_num_old
num_charge_to_str = '' # 预定义转换完的”改变多少粉丝数“变量
if num_change > 0: # 变化大于0就转字符串,再添加+号
num_charge_to_str = '+' + str(num_change)
else:
num_charge_to_str = str(num_change)
print('[', time.strftime("%Y-%m-%d %H:%M:%S", time.localtime()), '] B站粉丝数:', fans_num, '(', num_charge_to_str,
')',
sep='')
fans_num_old = fans_num # 存储新粉丝数
time.sleep(sleep_second) # 每次循环检测等待秒数
以上就是关于利用Python获取B站粉丝数的示例代码介绍,如需了解更多相关Python获取B站粉丝数内容,建议查阅本站历史文章或继续浏览后续内容,感谢支持。
免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。









