This is a steam tag-based recommendation system that scores games according to a user's interest level for given steam tags based on their hours of playtime. More details available on my blog here: https://svburger.com/2019/09/07/recommendation-systems-with-python-steam_augury/
If you don't already have the following Python modules installed, you'll need to do that first before running. Run pip install pandas requests json os progressbar sys in console if you haven't used those before.
In this python version, run python steam_augury.py api_key steam_id in console at the working directory of the script.
Available here: https://steamcommunity.com/dev/apikey
The fastest way is to go here: https://steamid.xyz/ and use the Steam64 ID.
Otherwise, for a given user's steam profile page, if you inspect source, you can find your 17 digit steam id key by searching for "g_rgProfileData". An example would look like:
g_rgProfileData = {"url":"https://steamcommunity.com/profiles/765611________
The reccomendation system will list the top 10 games according to a filtering score system built in the script. The full results with more than 30,000 steam games ranked is output in a tab-separated file in the working directory. Here users can see more details about the games and see the ones that didn't meet the filter's expectations.
The python version of this takes about 4-5 minutes to run, pending optimizations. A neat little console progress bar will tell you how far along it is, but please be patient while the magic happens!
There are 3 pre-downloaded datasets used in this system:
- all_app_details: appid, name, type, categories, genres, release_date, last_updated
- app_reviews: appid, positive_reviews, total_reviews, last_updated
- app_tags: appid, tag_data, last_updated
Normally, I'd get these datasets from the Steam API, but both the reviews and tag data doesn't exist there. There are two R scripts which will pull data, but are very slow so as to not overwhelm the Steam servers.
