ESP8266获取B站粉丝数【Arduino for ESP8266】
硬件:ESP8266模块、0.96OLED、4根杜邦线
视频连接:https://www.bilibili.com/video/av66795445
源码和教程:微信公众号:爱文电子 回复 10 获取
void loop() {
if(WiFi.status() == WL_CONNECTED){
const char* HOST = "http://api.bilibili.com";
if(QieHuan == 0 || QieHuan == 1)
{
String GetUrl1 = String(HOST) + "/x/relation/stat?vmid=";
GetUrl1 += "401390658";
http.begin(GetUrl1);
}
else if(QieHuan == 2)
{
String GetUrl2 = String(HOST) + "/x/space/upstat?mid=";
GetUrl2 += "401390658";
http.begin(GetUrl2);
}
int httpCode=http.GET();
Serial.printf("code = %d\r\n",httpCode);
if(httpCode > 0){
String resBuff = http.getString();
Serial.println(resBuff);
DynamicJsonBuffer jsonBuffer;
JsonObject& root = jsonBuffer.parseObject(resBuff);
if (!root.success())
{
Serial.println("parseObject() failed");
return;
}
if(QieHuan == 0)
{
long fans = root["data"]["follower"];
Serial.println(fans);
u8g2.setCursor(60, 20);
u8g2.print(fans);
}
else if(QieHuan == 1)
{
long follow = root["data"]["following"];
u8g2.setCursor(60, 40);
u8g2.print(follow);
u8g2.sendBuffer();
}
else if(QieHuan == 2)
{
long playnum = root["data"]["archive"]["view"];
Serial.println(playnum);
u8g2.setCursor(60, 60);
u8g2.print(playnum);
u8g2.sendBuffer();
}
http.end();
QieHuan = QieHuan + 1;
if(QieHuan == 3)
{
QieHuan = 0;
}
delay(1000);
}
}
}