Arthals

Arthals

bilibili
github

PKU NEWS

Hot List?

As a curious individual who has been browsing anonymous forums intensively since the beginning of the school year, I have always wondered why there is no hot list feature on these forums. Through searching for keywords related to hot lists, I also learned that there were predecessors who were working on this, but they stopped updating it, which is a pity.

So, starting from the end of last year, I had an idea: why don't I create a hot list myself? However, due to the heavy workload during the semester, this idea remained stagnant after I purchased the pku.news domain (actually, I was just slacking off). Finally, after finishing my exams and during the winter break, I picked up this idea again and started putting it into practice.

Hot List...

This project spanned my entire winter break, from crawling data on the backend, establishing a database, and creating API interfaces, to spending over a week on domain registration. Then, I proceeded to write the HTML and CSS for the frontend (basically writing random code without much knowledge) and learned the Vue framework (watching a few episodes of tutorials on Bilibili). Although it's not a big project, due to my addiction to games and low study efficiency, I only finished it now orz.

Hot List!

Regardless, this small project that I built step by step is considered complete (although there may be some small animations and details on the pages that haven't been handled yet). Now, everyone can visit pku.news or pekinguniversity.top at any time to access the hot list data from the past day/week/month, satisfying your desire to stay updated and making up for the regret of missing out on hot posts due to being busy!

Monitoring Process

First, the data source is obtained every half an hour, including the latest 100 pages (approximately 3000 posts) of replies and followers on the anonymous forum, which are then stored in a local database.

Next, all posts that meet the following criteria within the 100 pages are added to the monitoring list: heat *≥100, replies≥80, followers≥50.

For all data in the monitoring list, they are continuously monitored and updated for the following week. If any posts are deleted, they are removed from the entire database.

Based on various indicators, the top ten posts for each day/week/month are compiled and summarized on the webpage.

Heat = replies * 2 + followers * 3

Repository

(Only a very basic frontend page, the backend program is no longer applicable)

If you have any suggestions for improvement, ideas, or technical discussions (calling all computer science experts, please guide this newbie!), please feel free to raise an issue/PR.

Tech Stack

(Is this small project even worthy of being called a tech stack?):

Backend: Python+PyMySQL+FastAPI

Frontend: Vue.js

Loading...
Ownership of this post data is guaranteed by blockchain and smart contracts to the creator alone.