B站粉丝数显示器,播放数、获赞数失效解决。

2023-11-19

之前在B站看见很多人做B站粉丝数显示器,于是便在网上买了一块ESP8266的开发版回来尝试着折腾一个出来,便在网上搜索适合买回来的开发板和0.96 oled显示器的代码,显示部分的主要代码是在 果果小师弟的博客上找到的。然后自己又找了个可以自己配置wifi的代码,就不用把ssid和wifi密码固定在程序代码中。显示代码中获取粉丝api地址数据使用的ArduinoJson V5 但我下载的是 ArduinoJson V6 所以又在网上找了一下V5转V6的教程。终于折腾出一个自己的粉丝显示器来。

在这里插入图片描述

刚开始把这些代码根据自己的需求封装、修改后编译写入开发版后 显示都还好好的,过了一段时间 播放数 和 点赞数 就直接变为0了,粉丝数却好好的,刚开始我以为是api地址失效了,用浏览器打开,返回数据却是好好地。于是我试着用python爬虫原理试试,结果返回的数据还是没有播放数 和 点赞数 ,

在这里插入图片描述

突然想起最基本的反爬虫的原理就是看有没有headers 里的User-Agent 于是加上试试,结果data里面的数据还是为空。

在这里插入图片描述

既然这样还是没有那就把Cookie也写进headers里面试试,结果需要的数据用。

在这里插入图片描述
在这里插入图片描述

最终修改一下Arduino 获取点赞数与播放数的代码,粉丝显示器又恢复正常显示了。

/*****************************************************
 * 函数名称:getViewAndLikes()
 * 函数说明:获取B站播放数与获赞数
 * 参数说明:String url
******************************************************/
void getViewAndLikes(String url)
{
  HTTPClient http;
  http.begin(url);
  //此处为添加的headers头部信息
  http.addHeader("Host","api.bilibili.com");
  http.addHeader("User-Agent","Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:62.0) Gecko/20100101 Firefox/62.0");
  http.addHeader("Cookie","uuid=26AC9602-A5D1-F969-4400-624480BB578C63515infoc; LIVE_BUVID=AUTO1315855706237674; rpdid=|(um~RJRlRJR0J'ul)ll~|Ykm; sid=jrysbnoe; LIVE_PLAYER_TYPE=1; buvid3=34AC2B60-D8FA-40D5-B305-61F9620DE71B70391infoc; blackside_state=1; CURRENT_FNVAL=80; DedeUserID=323204204; DedeUserID__ckMd5=c800c208c54c0b34; SESSDATA=d43e072f%2C1619105780%2C08740*a1; bili_jct=3b8a090cd61bb676ab44453924ff1c43; CURRENT_QUALITY=64; PVID=1; bp_t_offset_323204204=481222962073341635; bp_video_offset_323204204=484975573783911908");
  
  int httpCode = http.GET();
  Serial.printf("[HTTP] GET... code: %d\n", httpCode);

  if (httpCode == 200)
  {
    Serial.println("Get OK");
    String json = http.getString();

// ---------- ArduinoJson V5 ----------
//  JsonObject &root = jsonBuffer.parseObject(resBuff);
// ---------- ArduinoJson V6 ----------
DeserializationError error=deserializeJson(doc,json);
    if (error)
    {
      Serial.println("parseObject() failed");
      return;
    }
    likes = doc["data"]["likes"];
    view = doc["data"]["archive"]["view"];
    Serial.println(json);
    Serial.print("Likes: ");
    Serial.println(likes);
    Serial.print("View: ");
    Serial.println(view);
  }
  else
  {
    Serial.printf("[HTTP] GET... failed, error: %d\n", httpCode);
  }

  http.end();
}

在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

B站粉丝数显示器,播放数、获赞数失效解决。 的相关文章

随机推荐

  • 【程序员面试金典】01.04. 回文排列

    回文排列 给定一个字符串 编写一个函数判定其是否为某个回文串的排列之一 回文串是指正反两个方向都一样的单词或短语 排列是指字母的重新排列 回文串不一定是字典当中的单词 示例 1 输入 tactcoa 输出 true 排列有 tacocat
  • MySQL经典50道练习题及全网最详细解析

    MySQL练习 文章目录 MySQL练习 50道经典SQL练习题全网最详细解析 数据表介绍 建表语句 插入数据 练习题目 1 查询 01 课程比 02 课程成绩高的学生的信息及课程分数 2 查询同时存在 01 课程和 02 课程的情况 3
  • TypeError: 'float' object is not callable

    今天在做一道Python练习题时遇到的问题 记录一下 请输入三个整数a b c 判断能否以它们为三个边长构成三角形 若能 输出YES和面积 否则输出NO 刚开始写的代码如下 a int input 请输入一个整数 b int input 请
  • Java实现图片上传返回上传地址

    关于在实际开发中最常用也是用的最多的Java实现文档 图片上传 一 准备阶段 文档 图片上传有几种方式 包括传统的ajax上传 云上传 这里给大家实现通过代码将图片上传至七牛云服务器并返回图片地址 1 需申请一台七牛云服务器地址 可免费试用
  • js删除数组里的某个元素

    删除数组中的某个元素 首先需要确定需要删除元素的索引值 var arr 1 5 6 12 453 324 function indexOf val for var i 0 i lt arr length i if arr i val ret
  • 请修改考试服务器名称,考试服务器ip数据库地址

    考试服务器ip数据库地址 内容精选 换一换 安全组是一个逻辑上的分组 为同一个虚拟私有云内具有相同安全保护需求 并相互信任的弹性云服务器和云数据库RDS实例提供访问策略 为了保障数据库的安全性和稳定性 在使用云数据库RDS实例之前 您需要设
  • Flink on Zeppelin-2

    Flink Interpreter类型 首先介绍下Zeppelin中的Flink Interpreter类型 Zeppelin的Flink Interpreter支持Flink的所有API DataSet DataStream Table
  • SQL plus简单使用

    查看Oracle数据库全部数据库 数据库名称 SELECT name FROM v database 这将返回所有数据库的名称 视图 通过SQL查询dba registry视图 另一个查看数据库的方法是查询dba registry视图 该视
  • 软件工程毕业设计题目100例

    文章目录 0 简介 1 如何选题 2 最新软件工程毕设选题 3 最后 0 简介 学长搜集分享最新的软件工程业专业毕设选题 难度适中 适合作为毕业设计 大家参考 学长整理的题目标准 相对容易 工作量达标 题目新颖 1 如何选题 最近非常多的学
  • 练手Demo(一)

    配置文件 spring redis host localhost username root password port 6379 datasource url jdbc mysql localhost 3306 base admin Un
  • 泛微OA项目引入jar包说明

    项目引入的jar包说明 WEB INF lib 依赖 存在dom4j 以及httpclient jar包 Resin lib 存在的是resin组件本身自带的依赖 ecology classbean 开发java类编译存放目录 系统目前已有
  • Java基础——strictfp关键字

    关键字strictfp是strict float point的缩写 指的是精确浮点 它是用来确保浮点数运算的准确性 JVM在执行浮点数运算时 如果没有指定strictfp关键字 此时计算结果可能会不精确 而且计算结果在不同平台或厂商的虚拟机
  • Windows 开机启动脚本 (不询问自动以管理员权限运行bat)

    方式一 系统级开机自启 不用登陆 获取开机启动文件夹 使用环境变量 ProgramData 或者 SYSTEMDRIVE echo SYSTEMDRIVE ProgramData Microsoft Windows Start Menu P
  • 对象的知识点补充

    认识对象 对象 object 是 键值对 的集合 表示属性和值的映射关系 JS中 大括号表示对象 var xiaoming 属性名 键名 key name 小明 age 12 sex 男 hobbies 足球 编程 对象的语法 k和v之间用
  • 进程间通信的方式总结(特点,以及code demo)

    进程间通信 IPC InterProcess Communication 是指在不同进程之间传播或交换信息 一 简单的进程间通信 命令行 父进程通过exec函数创建子进程时可以附加一些数据 环境变量 父进程通过exec函数创建子进程顺便传递
  • MOS管之增强型和耗尽型

    Depletion and enhancement modes In field effect transistors FETs depletion mode and enhancement mode are two major trans
  • 通过路由器端口映射实现外网IP访问内网服务器

    1 确认路由器的公网IP是不是真的公网IP 特别重要 如果不是可以不用看后面的了 通过www ip138 com网站可以查询当前网络的公网IP 再进入路由器控制界面查看wan口IP和公网IP是否相同 如果不同 大概率是私网IP 服务商在公网
  • cookie格式化

    字符串转成字典 使用场景 selenium尝试试用cookie登陆时 Network中cookie是一段字符串 需要转成字典使用 使用split和列表解析式 str thor 8954F43 Id d32def3ffSNw pn adsad
  • 数据结构---二叉查找树(二叉搜索树)

    二叉查找树 特性 插入 删除 待删除节点没有子节点 待删除节点有一个子节点 待删除节点有两个子节点 JAVA实现 缺陷 二叉查找树 二叉排序树 在二叉树的基础上 增加了 如果左子树不为空 则左子树上所有节点的值都小于根节点的值 如果右子树不
  • B站粉丝数显示器,播放数、获赞数失效解决。

    之前在B站看见很多人做B站粉丝数显示器 于是便在网上买了一块ESP8266的开发版回来尝试着折腾一个出来 便在网上搜索适合买回来的开发板和0 96 oled显示器的代码 显示部分的主要代码是在 果果小师弟的博客上找到的 然后自己又找了个可以