WordPress博客添加B站追番页面

Mashiro 大佬的博客中有一个追番页面,但基于 Bangumi API 的实现显得过于繁琐。因此,我基于 B站 API 开发了一个追番页面模板。这个模板理论上适用于所有 WordPress 主题,但我只进行了 Sakura 主题的适配,其他主题的用户可以根据需要自行修改。

PS:兔子大佬开发的插件支持 A站,具体可查看 AcFun&BiliBili 追番统计插件 WordPress 版发布

项目

GitHub Repo: Fog-Forest/bilibili

开工

  1. 下载本项目,将整个 json 目录放入您的站点根目录,并将 page-anime.phppage-movie.php 文件放入您的主题根目录中。
  2. 根据注释修改 json 文件夹中的 bilibiliAccount.php 文件,填入您的相关信息(可参考下面的获取信息部分)。

  3. 最后,在 WordPress 后台新建页面时选择相应的模板,以创建页面。

获取信息

获取UID

打开 B站,登录后进入个人空间,红框处即为您的 UID。别忘了将番剧设置为公众可见哦!

获取Cookie

登录后进入个人空间,按 F12 进入浏览器调试工具。在 Network 标签下刷新页面,找到与您的 UID 相同的链接并打开,随后在 cookie 一栏中完全复制下列内容。每个人的 Cookie 都会有所不同,建议在浏览器的 无痕模式 下操作,这里使用谷歌浏览器进行演示,如下图所示:

示例(长度可能有所不同):

_uuid=XXXXXXX-XXXX-XXXX-XXXX-82C16AFEC65E68468infoc; buvid3=8A0CA4AF-XXXX-XXXX-XXXX-8357010EB5F3155827infoc; sid=iwqx36hz; DedeUserID=8142789; DedeUserID__ckMd5=02832b48fef34f47; SESSDATA=fed39455%2C1606203773%2C8731e%251; bili_jct=58ba9ab942399022c6d85195c26f15e3

补充说明

B站的防盗链机制是根据 referrer 来判断请求是否来自 B站,因此我们可以通过添加一行代码来去掉 referrer。在追番模板的 get_header(); ?> 下面添加以下代码即可,我的修改版已为您添加此代码:

<meta name="referrer" content="never">

预览效果

评论区
头像
    头像

    你好,请问追番图片长宽不对,这要怎么解决?需要修改哪个文件的字段

    头像
    2559245293
      

    只显示追了多少部,没有番剧海报目录

    头像
    pank
      

    为什么我的页面追番图片全部是变形的TAT(╬゚д゚)▄︻┻┳═一

    头像
    brealid
      

    请问追番只显示追了多少部,不显示目录怎么修复呢。

    头像
    星语
      

    大佬我想请问一下,我的网站访问“GetAnimeData.php”这个文件链接时报错提示file_get_contents()这个函数无法访问HTTPS,好像要SSL验证,这个如何解决呀?我太菜了不会PHP

    头像
    mmsnh
      

    已经显示追了几部,但是不显示内容是为什么呢

      头像
      某猫
        
      @mmsnh

      需要在B站个人设置将“订阅追番”选为公开哦

      头像
      2454442613
        
      @mmsnh

      我也是害,hxd解决了吗

    头像
    橘子味的猫.
      

    二次元,牛批

    头像
    maders
      

    大佬 能说下这个 页面 是怎么做出来的么

      头像
      蘑菇
        
      @maders

      你翻下以前的文章是有的

    头像

    之前几次可以,但是看着看着之后自己的网站提示Undefind。
    此时去Bilibili看任何一个人的追番列表均显示
    “获取用户订阅追番失败,网络错误”

    头像
    热风声~!
      

    哇,大佬好强!

    头像
    Yh.
      

    是不是坏掉了

      头像
      蘑菇
        
      @Yh.

      只是Cookie失效了而已

    头像
    Nana
      

    请问博主,插件加载后放到网站上打开会先显示加载,但加载条小时候并未加载出任何东西,请问该怎么解决

      头像
      蘑菇
        
      @Nana

      是我的模板还是兔子的插件,兔子的插件问兔子,我的就看看 F12 报什么错

        头像
        April
          
        @蘑菇

        非常感谢

        头像
        April
          
        @蘑菇

        好的,麻烦问一下兔子的插件在哪里,麻烦了

          头像
          蘑菇
            
          @April

          https://www.azimiao.com/5947.html

        头像
        April
          
        @蘑菇

        响应时间过长

          头像
          蘑菇
            
          @April

          你先试试兔子的插件吧,我试了接口请求的到数据,也渲染进页面了,但是不显示,暂时没空看问题。

        头像
        April
          
        @蘑菇

        抱歉哈,我这边看不到还以为是我的网络问题,抱歉。
        神奇的是,我看了您给别人的留言,特意去试了试追剧,然而还是什么都没有....

          头像
          蘑菇
            
          @April

          手动请求接口看有没有数据返回 https://你的域名/json/GetAnimeData.php?limit=20&page=0

        头像
        Nana
          
        @蘑菇

        我不是很懂这些,我按了f12并不知道哪个是报错,所以我截了一张网站的图片希望您能看一下
        图片链接:https://i.ibb.co/5W71TQQ/TIM-20200618011512.png 请问这个情况应该怎么解决呢,麻烦大佬了

          头像
          蘑菇
            
          @Nana

          回复一次就够了,有缓存你可能看不见。你试试追剧模板,应该还是我追番模板的 curl() 函数问题,你可以部署到 Linux 服务器上的 Web 环境看看。

    头像
    某科学的贝壳
      

    博主,我配置完怎么打开那个页面呢?

      头像
      某科学的贝壳
        
      @某科学的贝壳

      我想说打开之后不能正常加载显示:undefined,我也加了B站的防盗链。 {{ganga}}

        头像
        蘑菇
          
        @某科学的贝壳

        没有获取到数据,就会报错,不是防盗链的问题。注意公开B站你的追番信息,你手动访问 https://你的域名/json/GetAnimeData.php?limit=20&page=0,看看有没有数据。如果没有,再试试访问 https://你的域名/json/GetMovieDatap?limit=20&page=0,有没有数据。B站追番涉及到 Cookie 的问题,我用的 curl() 函数,可能有些主机不受支持,追剧用的 file_get_contents()函数,这个倒没啥问题。

    头像
    GeZing
      

    感谢,找了好久 {{daku}} {{daku}}

    头像
    Song
      

    你好博主,为什么页面能显示追番多少部,但是下面不显示视频列表?[img]https://images.weserv.nl/?url=https://i.loli.net/2020/05/09/JWFztP1c7O6heNo.png[/img]

      头像
      蘑菇
        
      @Song

      你这个有点神奇,而且还不报错,我没发现过这种情况,暂时不知道什么原因 :guandeng:

    头像
    song
      

    大佬,追番也为什么只显示有多少部,而不显示列表?

      头像
      蘑菇
        
      @song

      curl()兼容性有问题,在windows服务器和部分主机上会获取不到数据,V3.3.8内置了追番,你可以用他的

    头像
    南方
      

    博主,直接用你修改后项目,无论怎么做都是无法显示下面的番剧项,只有上面的“当前已追番()部”。但是用原版的项目能够正确显示。我已我想知道如果在原版项目上如何具体修改css达到一行显示4个的效果。

      头像
      蘑菇
        
      @南方

      curl()存在兼容性问题,在Windows服务器和部分主机上,无法使用,v3.3.8用的不是这个函数,所以没有问题。怎么改样式你直接修改主题目录style.css里的追番的CSS代码即可,怎么改自己研究吧。

        头像
        南方
          
        @蘑菇

        {{daku}} 但是我用的版本就是v3.3.8

    头像
    yoki
      

    博主你好,我这边追番页面显示的图片跟底下那个标题对不上,好像错位了。。

    头像
    Lsa_Na
      

    博主博主,我新建页面打开后显示报错无法打开流(/TДT)/ ,萌新一脸懵逼的说
    错误行为16,
    代码不让打。。。。

    头像
    燚人
      

    博主你好,我这一直在报“您的站点遇到了致命错误。”什么东西都不显示

      头像
      蘑菇
        
      @燚人

      一般是cookie的问题,用无痕模式再获取下,或者你不用cookie看看报不报错

        头像
        燚人
          
        @蘑菇

        试过取消cookie,还是一样,我怀疑是我的项目出问题了,wordpress的bug太多了

    头像
    朵雾
      

    请问下番剧显示不出图片是为什么

      头像
      蘑菇
        
      @朵雾

      B站有防盗链,<head>加上一句<meta name="referrer" content="never">

    头像
    逆境
      

    加入番剧,提示有致命错误,查看后是429错误,怎么解决啊

      头像
      蘑菇
        
      @逆境

      429是境内服务器的老毛病了,可以不管,实在在意https://fairysen.com/256.html(见文章最后)

    头像
    Bullet.S
      

    棒啊感谢分享。

    头像
    Clover
      

    请问tabBar 左上角的文字 (雾时之森)咋设置的

      头像
      蘑菇
        
      @Clover

      博客文章翻一翻,有的 {{baiyan}}