Typecho-Plugin-DoubanBoard 发布

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

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

介绍

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

示例页面见:电影 - 熊猫小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 data-status="wish" class="douban-movie-list doubanboard-list"></div>

电影已看清单:

<div data-status="watched" class="douban-movie-list doubanboard-list"></div>

电影在看清单:

<div data-status="watching" class="douban-movie-list 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.

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

添加新评论

本站现已启用评论投票,被点踩过多的评论将自动折叠。与本文无关评论请发留言板。请不要水评论,谢谢。

已有 77 条评论

读书显示正常,电影全部显示不了,在本地测试了下可以显示,看来是服务器访问不了豆瓣。
如果我把本地生成的 movie.json 手动传上去,可行吗,插件会自动刷新掉数据吗?

可以,但是插件会检查缓存是否过期。在插件设置页面里把缓存过期时间设置成较大的值即可。

难受, 非php只能选择插单部 >﹏< , 没搞懂js是去哪里请求的清单

无风清响 无风清响 回复 @无风清响
0 0

研究了一下其实就是类似于爬虫获取影片信息再返回吧...?

站长你好,这个插件非常棒,但是我是一个新手,按照你的教程一步一步启用插件后,不知道这些代码插入至何处,新建页面,选择页面模板也没用此插件的模板。

插入到页面内容里

求助
电影看过清单无法加载,一直显示在加载,实际book.json缓存并没写入数据。
读书所有tag加载正常,电影单部tag加载正常。

book.json 文件只输出{"time":1,"data":{"read":[],"reading":[],"wish":[]}} 如上内容

你好,我用了这个插件不能显示,请问使用这个插件需要什么条件。如服务器有什么要求,
豆瓣端是否需要设置等?

拉取数据失败了, 请确认服务器能否访问豆瓣, 或者 ip 是不是被豆瓣拉黑了...

laok laok 回复 @熊猫小A
0 0

是指服务器的IP被豆瓣拉黑了?

laok laok 回复 @熊猫小A
0 0

明白,感谢站长

使用了书影插件后加载追番的插件就失效了,博主大大这是什么原因呢?
我的博客地址是:https://47.98.129.234/index.php/5.html

熊猫小A 熊猫小A 回复 @斯堪的纳维亚
0 0

在两个插件设置中关掉引入 JQuery

可以了,谢谢博主

豆瓣官方api似乎废的差不多了,但是加上key还是可以获取到数据,想问一下你哪找到的key

其实我很想问能插电视剧和综艺吗?

  1. 1
  2. 2
  3. 3