当前位置: 首页 > news >正文

B站网页部分API

https://www.bilibili.com/

数据结构

mid:   用户id
name:  用户名
face:  用户头像url  noface.jpg为默认头像
sign: 签名level: b站等级
coins: b站硬币

粉丝

https://api.bilibili.com/x/relation/fans?vmid={mid}&pn={pn}&ps={limit}&order=desc&gaia_source=main_web&web_location={web_location}&w_rid={wrid}&wts={wts}获取指定mid(用户ID)的最新粉丝列表。  
:param mid: 用户ID,表示要查询mid的粉丝。  
:param pn: 页码,表示要查询的粉丝列表的页码。  
:param limit: 页面大小,即每页显示的粉丝数量。默认为20。
:param web_location: 默认为 1550101。
:param wrid: 网络参数
:param wts: 当前毫秒数 
:return: 返回一个包含最新粉丝信息的列表(具体返回格式取决于数据源)。  

关注

https://api.bilibili.com/x/relation/followings?vmid={mid}&pn=1&ps={limit}&order=desc&gaia_source=main_web&web_location={web_location}&w_rid={wrid}&wts={wts}获取mid的最新关注。
参数同上

个人信息

https://api.bilibili.com/x/space/wbi/acc/info?mid={mid}&token=&platform=web&web_location={web_location}&dm_img_list={dm_img_list}dm_img_str={dm_img_str}&dm_img_inter={dm_img_inter}&w_rid={wrid}&wts={wts}获取mid的个人信息。
:param dm_img_str: 可默认为 "V2ViR0wgMS4wIChPcGVuR0wgRVMgMi4wIENocm9taXVtKQ"。
:param dm_cover_img_str: 可默认为 "QU5HTEUgKEludGVsLCBJbnRlbChSKSBVSEQgR3JhcGhpY3MgNjMwICgweDAwMDAzRTlCKSBEaXJlY3QzRDExIHZzXzVfMCBwc181XzAsIEQzRDExKUdvb2dsZSBJbmMuIChJbnRlbC"。
:param dm_img_inter: 可默认为 "{\"ds\":[],\"wh\":[3256,5442,64],\"of\":[495,990,495]}"。

代码示例

获取wrid与wts

import urllib.parse  
import hashlib
import timedef w_rid(param):e = "7cd084941338484aae1ad9425b84077c4932caff0ff746eab6f01bf08b70ac45"c = ''.join([e[i] for i in [46, 47, 18, 2, 53, 8, 23, 32, 15, 50, 10, 31, 58, 3, 45, 35, 27, 43, 5, 49, 33, 9, 42, 19, 29, 28, 14, 39, 12, 38, 41, 13, 37, 48, 7, 16, 24, 55, 40, 61, 26, 17, 0, 1, 60, 51, 30, 4, 22, 25, 54, 21, 56, 59, 6, 63, 57, 62, 11, 36, 20, 34, 44, 52]])c = c[:32]u = int(time.time())    param["wts"] = uf = [f"{urllib.parse.quote(str(k).encode('utf-8'))}={urllib.parse.quote(str(v).encode('utf-8'))}" for k,v in sorted(param.items())]y = '&'.join(f)return hashlib.md5((y+c).encode(encoding='utf-8')).hexdigest(), uprint(w_rid({"mid": 1111111,"token": "","platform": "web","web_location": 1550101,"dm_img_list": "[]","dm_img_str": "V2ViR0wgMS4wIChPcGVuR0wgRVMgMi4wIENocm9taXVtKQ","dm_cover_img_str": "QU5HTEUgKEludGVsLCBJbnRlbChSKSBVSEQgR3JhcGhpY3MgNjMwICgweDAwMDAzRTlCKSBEaXJlY3QzRDExIHZzXzVfMCBwc181XzAsIEQzRDExKUdvb2dsZSBJbmMuIChJbnRlbC","dm_img_inter": "{\"ds\":[],\"wh\":[3256,5442,64],\"of\":[495,990,495]}"
}
))

网络请求

headers = {  'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/126.0.0.0 Safari/537.36','Cookie': Cookie 
}
web_location = 1550101
dm_img_str = "V2ViR0wgMS4wIChPcGVuR0wgRVMgMi4wIENocm9taXVtKQ"
dm_cover_img_str = "QU5HTEUgKEludGVsLCBJbnRlbChSKSBVSEQgR3JhcGhpY3MgNjMwICgweDAwMDAzRTlCKSBEaXJlY3QzRDExIHZzXzVfMCBwc181XzAsIEQzRDExKUdvb2dsZSBJbmMuIChJbnRlbC"
dm_img_inter = "{\"ds\":[],\"wh\":[3256,5442,64],\"of\":[495,990,495]}"url = f"https://api.bilibili.com/x/space/wbi/acc/info?mid={mid}&token=&platform=web&web_location={web_location}&dm_img_list=[]&dm_img_str={dm_img_str}&dm_cover_img_str={dm_cover_img_str}&dm_img_inter={dm_img_inter}&w_rid={wrid}&wts={wts}"
headers["Accept"] = "*/*"
headers["Origin"] = "https://space.bilibili.com"
headers["Referer"] = f"https://space.bilibili.com/{mid}"session = requests.Session() 
response = session.get(url,headers=headers)if response.status_code == 200:  print(response.text)session.close()

在这里插入图片描述

代码

https://github.com/guanyuespace/BiliBili_Profile.git

http://www.lryc.cn/news/389240.html

相关文章:

  • 使用Spring Boot和Spring Security保护你的应用
  • CVE-2019-12272 Openwrt可视页面LuCi命令注入漏洞复现(完结)
  • 【多线程开发 4】从源码学习LockSupport
  • gameui C++的代码
  • 1.什么是js?特点是什么?组成部分?
  • 爬虫是什么?
  • 深入理解Presto分页查询:方法与最佳实践
  • 如何使用Go语言中的并发函数实现网络爬虫的分布式部署?
  • STM32第九课:DHT11温湿度传感器
  • JVM线上监控环境搭建Grafana+Prometheus+Micrometer
  • MyBatis(17)MyBatis 如何处理枚举类型
  • 云数据中心运维新纪元:让Linux服务器如虎添翼
  • C# 多线程造成CPU占用率高
  • 谈谈在不同公司中的SAP职位
  • 服务器连接不上
  • 论文辅导 | 基于贝叶斯优化-卷积神经网络-双向长短期记忆神经网络的锂电池健康状态评估
  • 安卓实现微信聊天气泡
  • 软件测试(功能、接口、性能、自动化)详解 | 测试人生路
  • 【面试题】网络IO模型
  • 数据结构-----【链表:基础】
  • 如何在pycharm里面运行pytest用例
  • Charles抓包工具踩坑记录
  • 【RabbitMQ实战】邮件发送(直连交换机、手动ack)
  • python 笔试面试八股(自用版~)
  • 《SpringBoot+Vue》Chapter04 SpringBoot整合Web开发
  • 腾讯地图异步调用
  • 通过docker overlay2 目录名查找占用磁盘空间最大的容器名和容器ID
  • 每周算法:有向图强连通分量
  • Python习题 053:在逻辑值检测时会被认为是真值的是?
  • 基于RackNerd + CentOS 7 64 Bit + aaPanel 的那些事