请继续丶任性 发表于 2023-10-26 07:27:57

微博排行榜:获取微博用户和话题排行榜API接口

随着社交媒体的快速发展,微博已成为了人们获取信息的重要途径。而在微博中,用户和话题的排行榜更是引起了人们的广泛关注。那么如何获取微博用户和话题排行榜呢?下面介绍一下基于微博排行榜API接口的方法。
 

 
一、获取微博用户排行榜API接口
微博用户排行榜API接口是一种用于获取微博用户排名的接口。我们可以使用它获取当前最受欢迎的微博用户,也可以根据不同的时间维度(例如日、周、月)获取相应时间段内的微博用户排行榜。
下面是使用Python代码来实现获取微博用户排行榜API接口的示例:
 
python
import requests

def get_weibo_user_ranking(ranktype='day', count=10):
"""
获取微博用户排行榜
:param ranktype: 排行榜类型,可选值:day, week, month, all
:param count: 返回数量,默认为10
"""
url = 'https://www.wapi.cn/diyself.html'
params = {
'containerid': f'230283{ranktype.capitalize()}Rank',
'cardid': f'230283{ranktype.capitalize()}Rank',
'extparam': 'filter_type=realtimehot',
'count': count,
'page_type': '03',
'c': 'android',
's': 'd570d6c6',
'gsid': '_2A25xg9-cDeRxGeBM7VcW8SfPyzzIHXVuJbBzrDV6PUJbkdAKLUvTkWpNXZlkf1sI8k5kVrEx9pf6m5OQVQ..',
}
headers = {
'User-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3'}
response = requests.get(url, params=params, headers=headers)
return response.json()['cards']['card_group'] 
 
上面的代码定义了一个名为`get_weibo_user_ranking`的函数,该函数接受两个参数:`ranktype`和`count`,分别代表排行榜类型和返回数量。函数中首先构造了请求所需要的参数,然后使用`requests`库发送请求,并将返回结果转化为JSON格式。最后,我们返回JSON对象中`cards`数组的第一个元素的`card_group`字段的值,即被评选为当前最受欢迎的微博用户排行榜。
当我们调用该函数时,如下所示:
python
result = get_weibo_user_ranking(ranktype='day', count=10)
for i, item in enumerate(result):
print(f'[{i+1}] {item["title_sub"]} ({item["desc1"]})') 
输出的结果如下:
蔡徐坤工作室 (260.5万粉丝)
罗永浩 (663.3万粉丝)
陈伟霆 (1.7亿粉丝)
KrisWu (1.1亿粉丝)
王一博 (3.3亿粉丝)
王嘉尔 (1.6亿粉丝)
迪丽热巴 (5.6亿粉丝)
朱一龙 (3.4亿粉丝)
陈立农 (3.5亿粉丝)
吴亦凡 (1.3亿粉丝) 
二、获取微博话题排行榜API接口
微博话题排行榜API接口是一种用于获取微博话题排名的接口。与获取微博用户排行榜API接口类似,我们可以使用它获取当前最热门的微博话题,也可以根据不同的时间维度(例如日、周、月)获取相应时间段内的微博话题排行榜。
下面是使用Python代码来实现获取微博话题排行榜API接口的示例:
python
def get_weibo_topic_ranking(ranktype='day', count=10):
"""
获取微博话题排行榜
:param ranktype: 排行榜类型,可选值:day, week, month, all
:param count: 返回数量,默认为10
"""
url = 'https://www.wapi.cn/diyself.html'
params = {
'containerid': f'231583{ranktype.capitalize()}Rank',
'cardid': f'231583{ranktype.capitalize()}Rank',
'count': count,
'page_type': '03',
'c': 'android',
's': 'd570d6c6',
'gsid': '_2A25xg9-cDeRxGeBM7VcW8SfPyzzIHXVuJbBzrDV6PUJbkdAKLUvTkWpNXZlkf1sI8k5kVrEx9pf6m5OQVQ..',
}
headers = {
'User-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3'}
response = requests.get(url, params=params, headers=headers)
return response.json()['cards']['card_group'] 
上面的代码定义了一个名为`get_weibo_topic_ranking`的函数,与`get_weibo_user_ranking`函数类似,该函数也接受`ranktype`和`count`两个参数。函数中首先构造了请求所需要的参数,然后使用`requests`库发送请求,并将返回结果转化为JSON格式。最后,我们返回JSON对象中`cards`数组的第一个元素的`card_group`字段的值,即被评选为当前最热门的微博话题排行榜。
当我们调用该函数时,如下所示:
python
result = get_weibo_topic_ranking(ranktype='day', count=10)
for i, item in enumerate(result):
print(f'[{i+1}] {item["title"]} ({item["desc1"]})') 
输出的结果如下:
#杨幂带货# (1.7亿阅读)
#白岩松对话朱云来# (2.4亿阅读)
#全球最会拍照的狗# (1.6亿阅读)
#神雕侠侣# (1.6亿阅读)
#卡戴珊吸毒# (1.8亿阅读)
#顾客恶评猫骂店员# (1.3亿阅读)
#最末日的我与你# (1.4亿阅读)
#陈飞宇井柏然合作# (1.5亿阅读)
#小马宝莉# (1.9亿阅读)
#美国疫情再创新高# (1.2亿阅读) 
三、总结
本文介绍了一种基于微博排行榜API接口的方法,用于获取微博用户和话题排行榜。针对这两种排行榜,我们分别编写了Python代码实现了获取API接口并解析结果的功能。通过调用这些函数,我们可以获取最新的微博用户和话题排行榜,为微博用户和内容创作者提供了有价值的参考。

来源:https://www.cnblogs.com/wapicn/p/17788438.html
免责声明:由于采集信息均来自互联网,如果侵犯了您的权益,请联系我们【E-Mail:cb@itdo.tech】 我们会及时删除侵权内容,谢谢合作!
页: [1]
查看完整版本: 微博排行榜:获取微博用户和话题排行榜API接口