Hacker News new | ask | show | jobs
by jprusik 4821 days ago
OP and developer of Steam Gauge here - this is my first python project, and I welcome any suggestions / criticisms / advice. If you don't have a Steam account but still want to check it out, feel free to take a look at my profile: http://mysteamgauge.com/search?username=monkeyagent

Here's the summary I posted over on the Steam forums:

What it is:

Steam Gauge will let you get a summary of all the games/apps/etc listed for your Steam account via the Steam Web API. It returns information about those games including hard drive space requirements and cost (base store value, not what you actually paid).

Features:

-The list that is constructed allows you to individually select/de-select apps.

-There is a graphical representation of collection percentage selected vs total.

-There are pre-built options to select only a given app type (game, app, movie, etc).

-The app table allows you to sort the list by title, id number, hard drive space, type, and cost (just click the headers).

-If you don't have a vanity username set up, you can use your steamID64 number instead.

-If game information is missing from the database, it automatically adds that id to the list of apps to update in the next database refresh (simply using Steam Gauge helps make it better).

-Finally, you can export the results of Steam Gauge to a csv file, so you can manipulate the data however you wish.

Requirements:

-For now, your profile needs to be public.

-Javascript must be enabled on the browser.

-If you use a relatively modern browser, the whole experience is going to look/work better.

Limitations:

-The hard drive values are based primarily on the published requirements (where available) and is otherwise based on manual data checks of game install size.

-The database still isn't complete, especially for new games, and weird exceptions. It should still be helpful for general estimates, but the precision is limited to the data available.

-The mobile layout still needs a little work but should function properly.

-The "Value" column represents the base cost of the game, not what an account owner paid.

Future plans:

-Add more game information including genres, controller support and multi-player capabilities

-Add submission flag for games with missing/incorrect data to help crowdsource what I can't scrape

1 comments

How are you getting users' game lists? Are you using id/user/games?tab=all&xml=1 or something like that?

A while ago STEAM was rate limiting me to somewhere between 8-15 seconds (503's returned in between). Have you run into this at all on your end?

It has a global rate limiter AFAIK, so it's hit and miss depending on how much load it's under.

Edit: I was trying to datamine Steam several months ago as well, but the amount of data I needed really was unrealistic for this very reason, and it would have just been bad etiquette. I imagine by having this API they're having to deal with a ridiculous number of dataminers. And that's on top of their crazy number of normal users, which I'm sure the rate limiter is there to protect.

Well, I really can't blame anyone but STEAM for this. They don't have APIs for anything other than stupid TF2/Dota2 things so it's no wonder that people scrape their pages every day.