Python获取B站粉丝数的示例代码

时间:2022-02-20 13:17:03

要使用代码,需要安装Python 3.x,并且要安装库,在cmd输入pip install requests json time
复制代码,修改最上方变量改成你自己的UID,保存为xxx.py,运行就可以了

用于学习了解的核心代码:

?
1
2
3
4
5
6
7
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

正篇:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
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站粉丝数内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!

原文链接:https://blog.csdn.net/qq_43477640/article/details/115064413