熱榜?#
作為一名自開學以來就每天高強度刷樹洞的吃瓜群眾,一直以來就想著為啥樹洞沒有熱榜功能,通過搜索熱榜關鍵字,也了解到之前有前輩在做這個事情,但後來就斷更了,尤為可惜。
於是自去年年末開始,我便有了個想法:為何我不自己做一個熱榜呢?但礙於學期內的卷卷大業,這個想法一直只停留在購買了 pku.news 域名這一步便再無進展(其實是咱摸魚摸的太爽了),終於在考完普化之後的寒假,我重拾了這個想法,開始付諸實踐。
熱榜...#
這個項目橫跨我的整個寒假,從後端的數據爬取、數據庫建立、API 接口,到卡了我一周多的域名備案,再到前端的 html 和 css 的編寫(指啥都不會一通亂寫)、Vue 框架的學習(指粗略看了幾集 b 站教程),一個其實並不算大的項目,因為我的沉迷遊戲和低下的學習效率,結果一直等到現在才寫完 orz
熱榜!#
但不管怎麼說,這個由我自己一步步寫起來的小小項目,也算是基本完成了(可能還有一些頁面的小動畫小細節沒處理完),現在大家可以隨時訪問 pku.news 或者 pekinguniversity.top 來獲取最近一天 / 周 / 月內的熱榜數據,隨時隨地滿足吃瓜的慾望,補足因為卷而錯過熱洞的遺憾!
監測流程#
首先是數據源,每半個小時獲取一次最近 100 頁內(約 3000 條)樹洞的回復與關注信息,並存儲在本地數據庫中;
其次,對所有 100 頁內,滿足:熱度 *≥100,回復≥80,關注≥50 其中任一的樹洞,加入監測列表;
對於監測列表內的所有數據,在隨後的一周內保持監測與更新,如有被刪除的樹洞則同步移除全部數據庫;
依照各項指標,分別整理出每天 / 周 / 月的各項指標前十條,匯總至頁面中。
熱度 = 回復 * 2 + 關注 * 3
倉庫#
(僅有極其簡陋的前端頁面,後端程序已不再適用)
如有任何改進意見、想法或者技術交流(信科大佬快來指導指導我這個小菜雞吧!),歡迎提請 issue/PR。
技術棧#
(這小小的項目居然也能稱得上技術棧?):
後端:Python+PyMySQL+FastAPI
前端:Vue.js