2

Pixiv 每日排行榜小部件 v4.4.1

 2 years ago
source link: https://www.mokeyjay.com/archives/1063/comment-page-10
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

Pixiv每日排行榜小挂件效果图

骚年,你是 ACG 或绘画爱好者吗?你希望在你的博客或网站中添加一个 Pixiv 每日排行榜 的展示功能吗?现在,无需在茫茫互联网中寻找适合自己站点的插件了,只需要几个文件或是一行代码即可实现!

  • 一行 HTML 代码即可调用,方便快捷
  • 适合放在大部分博客或网站的侧边栏
  • 自适应宽高。推荐宽度 240px、高度 380px
  • 点击图片可跳转到对应作品详情页
  • 每日自动更新,无需人工干预
  • 内置多图床支持、按需加载图片,极低资源消耗
  • 提供 API 服务,含有排行榜更新日期、缩略图 url 及详情页 url

Github

方案一:使用超能小紫提供的服务

感谢 rixCloud 提供代理支持

该方案适用于动手能力较差或较懒或没有特殊需求的用户。且已配置数个图床,访问速度较快
服务地址:https://cloud.mokeyjay.com/pixiv

WordPress 为例,首先进入 后台 -> 外观 -> 小工具
向右边适当的位置添加一个 文本自定义 HTML 小工具,标题随意,内容为

<iframe src="https://cloud.mokeyjay.com/pixiv" frameborder="0"  style="width:240px; height:380px;"></iframe>

点击保存按钮即可回到博客首页预览效果咯~
如果你了解 CSS 的话,还可以随意修改 iframestyle 属性
推荐宽度 240px、高度 380px (因为 P 站缩略图最大就是这个尺寸)

自定义背景颜色

默认为透明背景色,一般情况下不必特意去改背景颜色

如果你还是要改,可以参考下面的示例:
例如将上面 iframesrc 属性的值改为 https://cloud.mokeyjay.com/pixiv/?color=f00 试试看?
正常情况下背景颜色会变成红色,即#f00。如果颜色没有改变,可能是缓存问题,刷新几次即可
color 的值就是 CSS 内使用的颜色值,可为 3 或 6 位 16 进制字符。无需 #

自定义 Top 数量

你还可以通过 limit 参数限制图片数量
例如 https://cloud.mokeyjay.com/pixiv/?color=f00&limit=10
则可以得到背景为红色的 Top10 画册

limit 参数的范围必须在 1-500 之间

API 服务

图床缩略图 URL + 详情页 URL(推荐)
Pixiv 原始缩略图 URL + 详情页 URL
内容很简单,相信大家看了就知道可以怎么用了,不再赘述

方案二:自行架设服务

适用于动手能力较强或需要深度自定义的用户

需要 PHP 版本 >= 5.4

首先下载源代码,解压
使用专业编辑器(例如 SublimeNotepad++ 等,切忌使用记事本)编辑 config.php,根据实际情况修改相应配置

由于 Pixiv 已经被墙,如果你想要将此项目部署在国内,请务必配置 proxy 配置项

每个配置项的说明都以注释的形式标注在文件内。如果你看不懂,那就说明你比较适合方案一

最后一步,给予 storage 目录读写权限
具体使用方法参考方案一

  • 推荐使用方案一,由我本人维护,如有问题第一时间更新
  • 方案二反馈问题之前,请先将 log_level 设为 ['ERROR', 'DEBUG'] ,并再次重现问题后,带着 logs 来反馈
  • 本项目免费开源,仅供学习交流。请勿用于任何商业用途,作者不承担任何责任

4.4.1

  • 更新 Curl 类的默认 UA
  • 修复部分情况下获取项目 URL 错误
  • 修复获取排行榜数据失败时会无限重试的问题
  • 优化是否需要更新数据的判断机制
  • 删除已经失效的 alibaba 图床
  • 改用官方 ajax 接口获取排行数据
  • 添加 阿里巴巴、百度、今日头条 图床接口
  • 更新 smms 图床接口到 v2 版本
  • 删除已被废弃的 img.sb 图床接口
  • 删除已被封锁的 京东 图床接口
  • 删除 loading 页面的统计代码
  • 改用综合排行榜数据,而非仅限于插画
  • 图片数量限制扩充到 500,达到官方上限
  • service 配置项的取值不再影响 limit
  • 其他优化、bug 修复
  • 修复 Pixiv 排行榜页面代码改版导致的无法更新
  • 跳转至详情页时使用 https
  • 修复 Pixiv 排行榜页面代码改版导致的无法更新
  • 添加获取排行榜失败时的最大重试次数
  • 现已支持透明背景
  • 几乎重写了所有代码的船新版本,更多新特性与 bug 等你来发掘!
  • 由于 pixiv 全面开启反盗链,为了迎合此变化。已将 downloadurl_cache 这两个不再有存在意义的开关去除。现在会强制下载缩略图,然后再根据配置上传到各个图床或存储在服务器本地
    > 碎碎念:原本这个项目只是随便搞搞,没想到后面功能越堆越多,代码也越来越丑。作为本辣鸡 github 上最高 star 的项目实在是丢人。好在我花了几天时间撸了这个 4.0,总算是不那么丢人了
    > 还有就是添加了多图床的支持,每个月能节省几百 G 的流量了嘤
  • 添加 $download_proxy 配置项
  • 由于 Pixiv 的图片 url 添加了防盗链无法被直接显示,因此 $download 配置项默认开启
    为了更好的显示效果,自行部署的用户建议配置一个定时任务,每天 0 点触发 download.php
  • 修复因 Pixiv 改动导致挂掉的问题
  • 尝试优化更新锁,防止高并发下重复更新
  • 从 Conf::$download 中独立出配置项 Conf::$url_cache,现在可以仅缓存图片 url 而不缓存缩略图了
  • 添加贴图库图床支持

贴图库免费版并不是很好用且不支持 https,建议优先使用 sm.ms,贴图库仅作为备用
由于之前更新锁在高并发下有些问题无法很好的发挥作用,导致我的服务器 IP 因重复上传被 sm.ms 图床封了。而我个人也无力支撑高昂的 CDN 费用。因此即日起方案一不再提供 CDN 加速,改为直接从 P 站获取图片
方案一目前由 360 网站卫士提供 CDN 支持

  • 添加图片压缩功能,降低服务器带宽压力(需要 GD 库)
  • 修复 sm.ms 图床支持,降低失败概率
  • 添加 sm.ms 图床上传日志

如果开启 $enable_smms 出现问题,反馈时请带上日志文件

  • 添加 sm.ms 图床支持。一键启用即可大幅降低服务器带宽压力、节省流量。感谢 @Showfom 提供图床

我才不告诉你是因为方案一每天跑掉我几 G 流量,心疼不已才加的这个功能呢
如果连续 3 次上传失败,则从服务器本地读取图片,确保访问正常

  • 修复因 Pixiv 改版导致挂掉的问题
  • Pixiv 原生支持 https 啦!可喜可贺
  • 修复特定情况下 URL 的 limit 参数无效的问题
  • 修复方案一缓存问题
  • 修复上面效果图 SSL 证书问题
  • 更换了前端库引用地址,修复移动宽带下加载慢的问题
  • 添加协议自适应,修复在关闭缓存或缓存还没全部完成时影响小绿锁的问题
  • 以上更新来自 @灵乌路空 的友情 PR,我们一起对她 PRPR 以示感激吧
  • 超能小紫的方案一服务现已支持 HTTPS。咬牙忍痛上了收费 CDN,请大家且用且珍惜
  • 要是被滥用到我吃不消费用的话可能会暂停服务噢~
  • 如果访问量较高的话建议还是自行搭建服务,谢谢各位的支持与谅解
  • 优化下载线程以支持自行部署 HTTPS
  • 规划 2.0 时脑子抽了,非要把所有逻辑都局限在一个文件里。虽然各方面确实有所提升,但在一些情况下照样会出现那些老问题。例如缩略图下载失败啊、PHP 超时导致下载中断之类。因此在我测试并意识到这一点时,赶紧开始了新版本的开发 光速打脸
  • 去除自动更新锁机制,缩略图已存在并且有效时不再重复下载。防止因网络波动或超时导致的缩略图下载失败
  • 整体重构,各机制大幅优化
  • 添加自动更新锁机制,避免高访问量时并发更新浪费资源
  • 全新的伪多线程自动更新机制,后台更新不影响使用
  • 更新失败重试,避免因为网络问题导致的部分图片获取失败

前几天跟朋友聊天,朋友说希望能在自己博客侧边栏中显示 Pixiv 的每日排行榜。我自己也是个 ACG 爱好者,被他这么一说也想弄一个。昨晚终于有空,花了半个多小时写完。自己博客用上了感觉不错,完善了一下加了点功能开源出来福利各位

超能小紫,常用 IDmokeyjay。热爱 IT 与 ACG 的学渣


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK