Typecho-Plugin-DoubanBoard 发布

在博客上展示你的豆瓣书单、豆瓣影单 & MORE!

请注意,本文编写于 313 天前,最后修改于 65 天前,其中某些信息可能已经过时。

之前我写过一篇文章,介绍如何把豆瓣读书和豆瓣电影的个人收藏数据拉取过来在博客上展示:把豆瓣读书和电影收藏数据扒过来展示。但是写代码的方式对大多数人来说还是不太友好,而且相当于需要自己搭建 API 服务,于是现在我把代码整合一下,并加上了单独插入某一书籍、电影的功能,制作成了这个插件:DoubanBoard。

posterwall
posterwall

介绍

豆瓣书单与豆瓣影单的抓取方法有所不同。书单有接口可以获取,影单没有,只能通过访问豆瓣的网页来解析。具体实现就不多说了。

示例页面见:电影 - 熊猫小A的博客 | 读书 - 熊猫小A的博客

除此之外,也有单独展示某一部电影或书籍的功能,喜欢写影评和书评的博主可能会喜欢这个功能。示例:

单部电影

单部书籍

理论上,也支持剧集,只要按照单部电影的方式添加就好:

食用方式

去 GitHub 上下载或者 Clone 这个 repo:Typecho-Plugin-DoubanBoard将解压后的文件夹改名为 DoubanBoard,上传至站点插件目录启用,并在插件设置面板进行必要的设置。设置项有:

  • 豆瓣 ID:你的豆瓣 ID,一般可以从你的个人主页的 URL 里找到。
  • 每次加载的数量:从速度和节省流量的考虑,书单和影单不会一次全部加载。你可以填写每次加载的数量。不填默认为 10。
  • 缓存过期时间:插件对数据做了本地缓存以提高访问速度,你可以在这里填写缓存过期时间,单位为秒。两次访问时间间隔超过该时间则会重新拉取数据,不填默认 24 小时。注意,不建议设置得过短,否则豆瓣可能判定你的 IP 存在异常流量。
  • 是否加载 JQuery:如果你的主题没有引入则勾选它来引入,否则取消勾选。

注意:要保证 插件目录/cache 这个文件夹可写!

插入书单与影单

想读清单:

<div data-status="wish" class="douban-book-list doubanboard-list"></div>

已读清单:

<div data-status="read" class="douban-book-list doubanboard-list"></div>

在读清单:

<div data-status="reading" class="douban-book-list doubanboard-list"></div>

电影已看清单:

<div id="douban-movie-list" class="doubanboard-list"></div>

注意,在某些 Typecho 版本中你可能需要使用 !!! 来包裹住 HTML 代码。

插入单部电影、书籍

插入单部电影

<div class="douban-single" data-type="movie" data-id="电影 ID" data-rating="你的评分"></div>

其中电影 ID可以在豆瓣电影页面的 URL 中找到。你的评分修改为你自己的评分,10 分制,可带小数。

插入单部书籍

<div class="douban-single" data-type="book" data-id="书籍 ID" data-rating="你的评分"></div>

其中书籍 ID可以在豆瓣书籍页面的 URL 中找到。你的评分修改为你自己的评分,10 分制,可带小数。

注意,在某些 Typecho 版本中你可能需要使用 !!! 来包裹住 HTML 代码。

Enjoy.

如果本项目对你有所帮助,请考虑捐助我 ↓↓↓

添加新评论

已有 63 条评论

如果电影的页面也能像读书那样分为 看过 想看 再看三部分就更完美了

https://movie.douban.com/mine
https://book.douban.com/mine?icn=index-nav

是因为电影没有直接提供api吗?

熊猫小A 熊猫小A 回复 @铁皮

是的,这部分豆瓣没有提供 API,目前电影页面的信息都是直接扒的网页。

试了下书单能正常显示,影单能显示,但是图片不正常,不知道怎么处理?

熊猫小A 熊猫小A 回复 @铁皮

链接?

铁皮 铁皮 回复 @熊猫小A

我就是在独立页面里包裹了你给的代码
读书没问题,影视似乎就是不显示图片

熊猫小A 熊猫小A 回复 @铁皮

你不发链接我没法帮你查找问题,你的描述对发现问题没有帮助。

铁皮 铁皮 回复 @熊猫小A

https://www.517666.xyz/index.php/movie.html

谢谢你的答复,如果有时间帮我看一些,谢谢

熊猫小A 熊猫小A 回复 @铁皮

是因为豆瓣为自己的图片加上了防盗链。你可以下载使用新版的插件,并且删掉 cache 文件夹下的缓存再试试。

铁皮 铁皮 回复 @熊猫小A

谢谢,问题解决了

把那些代码插入到哪里呢?

熊猫小A 熊猫小A 回复 @涛涛

文章内容里

涛涛 涛涛 回复 @涛涛

好了,是要用!!!裹住代码

为啥用了之后, 一直加载中, 然后页面就卡好久

熊猫小A 熊猫小A 回复 @Ai糖宝

因为在拉取数据。

感谢分享
想整合到wordpress上
实在是不会写wordpress插件
自己在页面调用的PHP文件
感谢分享
效果很好
http://m.lookoro.cn/index.php/douban_movie

熊猫小A 熊猫小A 回复 @SingerLan

不谢,你做的挺棒的~

正想要这个嘞。

可怕。几天没来博客主题又变了

哈哈,最近觉得 Bootstrap 有点意思,边看文档边写,就顺手把这个主题写出来了。

博客速度挺快

熊猫小A 熊猫小A 回复 @lihail

你的博客也很棒!好有创意!

来了来了(๑•̀ㅁ•́ฅ)

熊猫小A 熊猫小A 回复 @mikusa

来啦来啦~

大佬,豆瓣创建豆列收藏书籍之后,填入豆瓣ID无法显示。

熊猫小A 熊猫小A 回复 @cyclists

豆列?当前这个插件只适用于直接标记为已读的图书 / 电影,不知道豆列是什么情况……

cyclists cyclists 回复 @熊猫小A

弄错了,我以为要创建豆列,我现在标记了已读了,怎么还是不显示,我新建了一个独立页面,输入了不显示

熊猫小A 熊猫小A 回复 @cyclists

cache 文件夹要可写,如果里面有缓存了,手动把缓存删掉一下

  1. 1
  2. 2