Steam Scraper Proof of concept for mgalaxy
Posted: Thu Oct 07, 2021 4:58 pm
Sooooo.....
A few months back I asked for a steam scraper for steam games. I see the mgalaxy administrator is hard at work (version 8.5) so since I am laid up with nasty vertigo and I needed to do something besides...you know... work and was interested in sharpening my Python skills and starting the leg work for the mgalaxy team I came up with this sub alpha version of a steam game scraper. Results below.
-- WARNING: THIS IS SUB ALPHA CODE, DO NOT USE IF YOU DON'T KNOW PYTHON - HELL EVEN IF YOU DO (I have vertigo and am on a LOT of drugs) ... IT IS PURELY A PROOF OF CONCEPT --
-What it does-
* Creates shortcuts of your steam library
* Downloads images for you steam library (excluding screen shots)
* Puts images in appropriate Meta directory
-What it doesn't-
* Create screenshots
* Update games database with correct descriptions
-Issues-
* This works by running steam silently in the background ( some of my titles had issues just running exe ) and then kicking off by appid. This means that currently mgalaxy will not close the app correctly and you will have to open a minimized mgalaxy after closing. (Help! Any ideas? )
* Uses a lot of files, two external program (steamgrid_windows and steam.exe),and is generally clunky
-Lessons learned (useful for mgalaxy creators)-
* a workable version in mgalaxy_runway is totally reasonable without the extra headaches, it would need to use the following:
a. the public games list xml available for a user in steam: https://steamcommunity.com/id/<profileID>/games?xml=1
- this would pull the game name and app id
b. use of the steamgriddb api: https://www.steamgriddb.com/api/v2
- this would easily pull appropriate graphics
c. use of steamapi : https://steamapis.com/docs/market#app
- to get the description and the screenshots (possibly all graphics depending on how you feel about image choices)
Almost all of this just uses web apis (except a.) and are less load limited than the steamworks apis
* Next time I will use the web apis as opposed to external apps and crappy hooks
* BIG ISSUE - it runs apps pretty quick but has an issue while closing (see under issues) can this be fixed with a script?
* Is there a file location one can put game information?
A few months back I asked for a steam scraper for steam games. I see the mgalaxy administrator is hard at work (version 8.5) so since I am laid up with nasty vertigo and I needed to do something besides...you know... work and was interested in sharpening my Python skills and starting the leg work for the mgalaxy team I came up with this sub alpha version of a steam game scraper. Results below.
-- WARNING: THIS IS SUB ALPHA CODE, DO NOT USE IF YOU DON'T KNOW PYTHON - HELL EVEN IF YOU DO (I have vertigo and am on a LOT of drugs) ... IT IS PURELY A PROOF OF CONCEPT --
-What it does-
* Creates shortcuts of your steam library
* Downloads images for you steam library (excluding screen shots)
* Puts images in appropriate Meta directory
-What it doesn't-
* Create screenshots
* Update games database with correct descriptions
-Issues-
* This works by running steam silently in the background ( some of my titles had issues just running exe ) and then kicking off by appid. This means that currently mgalaxy will not close the app correctly and you will have to open a minimized mgalaxy after closing. (Help! Any ideas? )
* Uses a lot of files, two external program (steamgrid_windows and steam.exe),and is generally clunky
-Lessons learned (useful for mgalaxy creators)-
* a workable version in mgalaxy_runway is totally reasonable without the extra headaches, it would need to use the following:
a. the public games list xml available for a user in steam: https://steamcommunity.com/id/<profileID>/games?xml=1
- this would pull the game name and app id
b. use of the steamgriddb api: https://www.steamgriddb.com/api/v2
- this would easily pull appropriate graphics
c. use of steamapi : https://steamapis.com/docs/market#app
- to get the description and the screenshots (possibly all graphics depending on how you feel about image choices)
Almost all of this just uses web apis (except a.) and are less load limited than the steamworks apis
* Next time I will use the web apis as opposed to external apps and crappy hooks
* BIG ISSUE - it runs apps pretty quick but has an issue while closing (see under issues) can this be fixed with a script?
* Is there a file location one can put game information?