『技术向』PHP根据Pixiv作品id获取原图

单文件,根据pixiv作品id获取原图,支持日间/夜间模式切换,源码已放出。

声明:本人野路子菜鸟开发,纯兴趣爱好驱动,个别用词不严谨或者代码格式不规范往理解,也欢迎各位指出问题。

前情提要
从初中开始,本人一直热衷于网站开发与设计,不是很系统的学习了一些php技术。前些日子偶有灵感,打算发点有技术含量的专栏(也不是很高吧...),于是在四天前发了条动态做预告。那么,今天就是实现诺言的时候了~

内容剖析
任务目标:实现一个单页,根据Pixiv作品ID来查看全部图片内容。
详细信息:
环境:非大陆主机 nginx + php7.3(支持curl,支持短标签)
Pixiv的作品图片接口(https://www.pixiv.net/ajax/illust/作品ID/pages?lang=zh)
总体来说没啥难度,作品接口可以通过在作品详情页抓包分析取得,但是仍然需要注意一下几点:
自动创建缓存目录
缓存所抓取到的作品json信息
抓取原图、缓存、在前端显示
获取原图时对于目标URL检验

作品展示
折腾了半个小时,最终做出了一个单文件版本,闲的没事还整了个日间/夜间模式切换,预览图如下:


查看作品的页面如下:



代码部分
直接贴出源代码,有注释:
需要注意
单文件页面,其中没有做内容过滤,请自行解决。
部署需要部署在海外主机,国内P站被墙。
公开使用推荐定期自动清理缓存,防止服务器爆满。
感谢您的阅读,欢迎留言指导