pixiv小控件
前言
最近看到一個大佬, 開源了一款博客小插件, 地址. 可以將pixiv網站的日榜放到博客側邊欄. 看上去很炫酷. 于是我也引入到了自己的博客中. 在此向大佬表示感謝.
但是在使用過程中, 經常遇到訪問很慢的情況, 查看之后才發現, 大佬的服務器架設在韓國, 難怪訪問比較慢, 都走國際帶寬了.
于是, 我就在北京搭了一個, 如果需要的話可自行引入. 效果可到主頁查看. 地址: https://fun.hujingnb.com/pixiv/i
使用
我使用的是WordPress, 就以WordPress為例, 其他情況請自行處理. 當前圖片的點擊效果為打開原圖.
添加側邊欄HTML控件, 內容(iframe請自行修改):
<iframe src="https://fun.hujingnb.com/pixiv/i" frameborder="0" style="width:300px; height:400px;" ></iframe>另外, 我添加了幾個請求的GET參數, 用于有需要的小伙伴自定義.
- interval: 頁面輪播時長(毫秒). 默認5000
- bg: 背景色, 默認transparent
- w: 圖片寬度. 默認300
- 因為日榜的圖片很多超過1MB, 故進行了圖片的壓縮, 可提高訪問速度.
- 可選值: 100, 200, 300, 400, 500.
- limit: 輪訓的排名區間. 默認1,50
- 1,50 為顯示排名 1-50 的圖片
- 最大排名100, 暫時看100應該夠用了, 故只拉取了日榜的 top 100
后續更新
原理
開始的時候, 我是想著將項目 down 下來, 配置一下跑起來就行了, 但是, 看過源碼后, 我發現人家的很多功能其實我都用不到, 我只需要一個爬蟲加一個展示頁面就可以了. 索性自己寫了一個.
其實現十分簡單, 這里簡單介紹一下, 就不開源了, 攏共沒幾行.
一個展示頁面, 從 oss 的固定路徑中讀取圖片進行展示. 比如排名1的, 路徑為: pixiv/1.jpg.
一個每天定時執行的腳本, 將最新的圖片下載后并覆蓋 oss 的文件內容. 為了節省費用, 下載完成后將 ecs 釋放掉. 具體可看 阿里云定時任務并自動釋放. 同時, 因為頁面使用了 cdn 讀取圖片, 所以在下載完成后, 要刷新下 cdn 緩存.
沒了, 就這么點東西. 當然, 現在這樣還存在一些問題, 比如:
- 若定時腳本執行時, 每日排行榜沒有刷新, 缺少重試機制
- 頁面只能讀取到圖片的 url, 無法讀取更多信息, 缺少數據通信
- 若某排名的圖片當日沒有, 頁面并不知道, 仍然會進行展示. (因為是文件覆蓋, 還是可以讀到舊文件的)
- 等等
不過當前的要求并不高, 這些問題都在可以忍受的范圍內.
總結
- 上一篇: c语言使用循环编写勾股数,刘徽《九章算术
- 下一篇: java 序列化工具kryo_java