Skip to content

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

Notifications You must be signed in to change notification settings

ScottBurger/steam_augury

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

19 Commits
 
 
 
 
 
 
 
 

Repository files navigation

steam_augury

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/

dependencies

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.

how to use

In this python version, run python steam_augury.py api_key steam_id in console at the working directory of the script.

steam api key

Available here: https://steamcommunity.com/dev/apikey

steam id

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________

outputs

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!

output from steam_augury

about the data

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.

About

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

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published