Pixiv 每日排行榜 Top50 小部件 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
mokeyjay
V2EX    ACG

Pixiv 每日排行榜 Top50 小部件

  •  1
     
  •   mokeyjay 2017 年 3 月 31 日 3210 次点击
    这是一个创建于 3231 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

    简介

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

    特色

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

    开源项目地址

    更新日志

    2.5

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

    2.4

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

    2.3

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

    2.2

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

    2.1

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

    2.0

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

    初衷

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

    如何部署

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

    该方案适用于动手能力较差或较懒或没有特殊需求的用户。且已配置好国内 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 进制字符。无需 #

    你还可以通过limit参数限制图片数量

    例如https://cloud.mokeyjay.com/pixiv/?color=f00&limit=10

    则可以得到背景为红色的 Top10 画册

    请注意: limit参数的范围为1-50

    方案二:自行架设服务

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

    使用此方案你可以更深层次地自定义,并且可以配置图片缓存到你的服务器,缓解某些地区访问 P 站较慢或打不开等问题

    首先下载源代码,解压

    使用专业编辑器(例如SublimeNotepad++等,切忌使用记事本)编辑Conf.php,修改相应配置。每个配置项的说明都以注释的形式标注在文件内。如果你看不懂,那就说明你比较适合方案一

    请注意: 数据缓存和图片缓存功能需要当前目录的写入权限。如果你的主机不支持写入(例如 SAE 或 BAE 等应用环境),关掉图片缓存的话也不影响使用,但每次访问都会重新获取每日排行榜,比较浪费资源。这种情况下推荐使用方案一,当然如果你有钱的话当我没说

    注意事项

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

    关于作者

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

    如果喜欢,喜欢能 Star 一下~谢谢各位

    9 条回复    2017-05-18 17:04:12 +08:00
    SoulGem
        1
    SoulGem  
       2017 年 3 月 31 日
    赞一个!
    sliamb
        2
    sliamb  
       2017 年 3 月 31 日
    大佬又有新作品了
    mokeyjay
        3
    mokeyjay  
    OP
       2017 年 3 月 31 日
    帖子超时无法编辑了,有人说开源地址链接不显眼,我在这再发一下

    https://github.com/mokeyjay/Pixiv-daily-top50-widget
    Garantion
        4
    Garantion  
       2017 年 3 月 31 日
    资瓷一下
    misaka19000
        5
    misaka19000  
       2017 年 3 月 31 日 via Android
    能不能直接封装一个 HTTP 调用接口呢,返回图片的地址数组就可以了
    mokeyjay
        6
    mokeyjay  
    OP
       2017 年 3 月 31 日 via Android
    @misaka19000 有呀,分别是 https://cloud.mokeyjay.com/pixiv/pixiv.jsonhttps://cloud.mokeyjay.com/pixiv/source.json 。区别在于图片 url 是否经过我的服务器缓存

    感觉应该写在说明里,而不是作为彩蛋一样的东西
    songjiaxin2008
        7
    songjiaxin2008  
       2017 年 3 月 31 日
    厉害厉害!
    timwei
        8
    timwei  
       2017 年 4 月 7 日
    <3
    geew
        9
    geew  
       2017 年 5 月 18 日
    赞一个 已放到网站上
    关于     帮助文档     自助推广系统     博客     API/a>     FAQ     Solana     3325 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 28ms UTC 05:30 PVG 13:30 LAX 21:30 JFK 00:30
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86