Skip to content

会自动更新的P站每日榜top50展示小部件,适合放在博客侧边栏等地方

Notifications You must be signed in to change notification settings

LCYLYM/Pixiv-daily-top50-widget

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

30 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Pixiv每日排行榜Top50小部件

Pixiv每日排行榜Top50小部件效果图

简介

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

特色

  • 一行HTML代码即可调用,方便快捷
  • 适合放在大部分博客或网站的侧边栏
  • 自适应宽高。推荐宽度240px、高度380px
  • 点击图片可跳转到对应作品详情页
  • 自动更新,无需crontab
  • 按需加载图片,极低资源消耗
  • 支持数据缓存,每日只更新一次排行榜数据,降低性能开销
  • 支持图片缓存,解决部分地区pixiv打开慢或打不开的问题
  • 提供API服务,含有更新日期、缩略图url及详情页url

开源地址

Github

如何部署

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

该方案适用于动手能力较差或较懒或没有特殊需求的用户。且已配置好国内CDN,访问速度较快
服务地址:https://cloud.mokeyjay.com/pixiv
Wordpress为例,首先进入 后台 -> 外观 -> 小工具
向右边适当的位置添加一个 文本 小工具,标题随意,内容为

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

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

自定义背景颜色

默认的背景颜色是#fff(纯白色),如果你的页面背景颜色与之不符,你可以传参来改变它
例如将上面iframesrc属性的值改为https://cloud.mokeyjay.com/pixiv/?color=f00试试看?
正常情况下背景颜色会变成红色,即#f00。如果颜色没有改变,可能是缓存问题,Ctrl+F5刷新一下即可
color的值就是CSS内使用的颜色值,可为3或6位16进制字符。无需 #

自定义Top数量

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

API服务

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


方案二:自行架设服务

适用于动手能力较强或需要自定义的用户
由于Pixiv已经被墙,所以如果想要部署在中国大陆内,请正确配置$download_proxy代理
使用此方案你可以更深层次地自定义,并且可以配置图片缓存到你的服务器或图床,缓解某些地区访问P站较慢或打不开等问题
首先下载源代码,解压
使用专业编辑器(例如SublimeNotepad++等,切忌使用记事本)编辑Conf.php,修改相应配置
每个配置项的说明都以注释的形式标注在文件内。如果你看不懂,那就说明你比较适合方案一

请注意: 数据缓存和图片缓存功能需要当前目录的写入权限。如果你的主机不支持写入(例如SAE或BAE等应用环境),关掉图片缓存的话也不影响使用,但每次访问都会重新获取每日排行榜,比较浪费资源。这种情况下推荐使用方案一,当然如果你有钱的话当我没说
另外,由于Pixiv开启了防盗链,因此刚部署完第一次访问可能会一片空白,这是正常现象
为了更好的显示效果,建议配置一个定时任务,每天0点触发download.php

注意事项

  • 推荐使用方案一,由我本人维护,如有问题第一时间更新
  • 本项目免费开源,仅供学习交流。请勿用于任何商业用途,作者不承担任何责任
  • 方案二需要PHP版本 >= 5.3

更新日志

3.0

  • 添加$download_proxy配置项
  • 由于Pixiv的图片url添加了防盗链无法被直接显示,因此$download配置项默认开启 为了更好的显示效果,自行部署的用户建议配置一个定时任务,每天0点触发download.php

2.9

  • 修复因Pixiv改动导致挂掉的问题

2.8

  • 尝试优化更新锁,防止高并发下重复更新
  • 从 Conf::$download 中独立出配置项 Conf::$url_cache,现在可以仅缓存图片url而不缓存缩略图了
  • 添加贴图库图床支持

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

2.7

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

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

2.6

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

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

2.5

  • 修复因Pixiv改版导致挂掉的问题
  • Pixiv原生支持https啦!可喜可贺

2.4

  • 修复特定情况下URL的limit参数无效的问题
  • 修复方案一缓存问题
  • 修复上面效果图SSL证书问题

2.3

  • 更换了前端库引用地址,修复移动宽带下加载慢的问题
  • 添加协议自适应,修复在关闭缓存或缓存还没全部完成时影响小绿锁的问题
  • 以上更新来自@灵乌路空 的友情PR,我们一起对她PRPR以示感激吧
  • 超能小紫的方案一服务现已支持HTTPS。咬牙忍痛上了收费CDN,请大家且用且珍惜
  • 要是被滥用到我吃不消费用的话可能会暂停服务噢~
  • 如果访问量较高的话建议还是自行搭建服务,谢谢各位的支持与谅解

2.2

  • 优化下载线程以支持自行部署HTTPS

2.1

  • 规划2.0时脑子抽了,非要把所有逻辑都局限在一个文件里。虽然各方面确实有所提升,但在一些情况下照样会出现那些老问题。例如缩略图下载失败啊、PHP超时导致下载中断之类。因此在我测试并意识到这一点时,赶紧开始了新版本的开发 光速打脸
  • 去除自动更新锁机制,缩略图已存在并且有效时不再重复下载。防止因网络波动或超时导致的缩略图下载失败

2.0

  • 整体重构,各机制大幅优化
  • 添加自动更新锁机制,避免高访问量时并发更新浪费资源
  • 全新的伪多线程自动更新机制,后台更新不影响使用
  • 更新失败重试,避免因为网络问题导致的部分图片获取失败

初衷

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

关于作者

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

About

会自动更新的P站每日榜top50展示小部件,适合放在博客侧边栏等地方

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • PHP 100.0%