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