It seems that you're using an outdated browser. Some things may not work as they should (or don't work at all).
We suggest you upgrade newer and better browser like: Chrome, Firefox, Internet Explorer or Opera

×
high rated
GOG Database collects data from the store pages and Galaxy APIs and makes it accessible on a single page for each game. Currently its uses are a bit limited and mostly developer focused, but I have many ideas of features that could be useful for all players. As the name suggests, this project has been heavily inspired by Steam Database, you should definitely check them out if you're a Steam user.

Current features:
* Downloads list
* Basic API data
* Dollar price tracking
* Store info tracking
* Download tracking

Planned features:
* File tracking

Rejected features:
* Regional price tracking

The site can be found at http://www.gogdb.org.
Database dumps are available at https://www.gogdb.org/backups_v2/
Post edited July 19, 2018 by Yepoleb
WOW! Excellent job.
I like it. Good job.
avatar
Yepoleb: GOG Database collects data from the store pages and Galaxy APIs and makes it accessible on a single page for each game. Currently its uses are a bit limited and mostly developer focused, but I have many ideas of features that could be useful for all players. As the name suggests, this project has been heavily inspired by Steam Database, you should definitely check them out if you're a Steam user.
Thanks for doing this! How often do you pull data?

I found some mistakes which might indicate some bug I guess. For instance The Witcher 2 release date is listed as "December 25, 1991 (25 years ago)" which is clearly wrong:

http://gogdb.yepoleb.me/product/1207658930
Post edited June 15, 2017 by shmerl
high rated
avatar
shmerl: Thanks for doing this! How often do you pull data?

I found some mistakes which might indicate some bug I guess. For instance The Witcher 2 release date is listed as "December 25, 1991 (25 years ago)" which is clearly wrong:

http://gogdb.yepoleb.me/product/1207658930
I currently update every 6 hours. I have already noticed the problem with the release dates, but that's actually what the Galaxy API returns. It looks like the store page shows the correct date, so I'm planning to prefer that if it's available. Thanks for reminding me to fix it!
Neat-o. I bookmarked the site for later perusal.
Wow, nice job! Maybe you can write in the advanced search/filtering features that Magog has also, since mrkgnao discontinued it.
high rated
avatar
blotunga: Wow, nice job! Maybe you can write in the advanced search/filtering features that Magog has also, since mrkgnao discontinued it.
Adding advanced search filters has never been my plan, because when I started MaGog was still active. Now there's certainly a reason to consider it, but it still has a very low priority, because I've personally never used it. Developing something you don't use is always a big challenge. Maybe someone else wants to poke around in the code? Unless there is very high demand, it most likely won't happen in the next couple of weeks, but probably at some point.

Thanks for the positive feedback from everyone!
Great job!
Thanks for your efforts!
I never used STEAM DB, so I have no idea how useful it might be, but your implementation for GOG is very intriguing. Thank you for your efforts! +1

Another great project from the GOG community.
avatar
Yepoleb: ...
Good job! As soon as you implement file tracking and regional pricing/blocking, there'll be no need for me to keep parsing MaGog... :P

One doubt, though: the website doesn't show this info, but you seem to be collecting info about game genres, system requirements, ratings, etc. that isn't included in the Galaxy API. Where do you get this info from? Do you parse the HTML code of each game page?
Great job. Very usefull. Though I wish somebody would also do the steamprices database since magog is now gone.

Still thank you for the USD price tracking its very handy.
Well done, that looks great. I might even be able to use it swap some functionality over from MaGog (though I'm not sure you have what I really need, which is the bundled games)
avatar
Yepoleb: I currently update every 6 hours. I have already noticed the problem with the release dates, but that's actually what the Galaxy API returns. It looks like the store page shows the correct date, so I'm planning to prefer that if it's available. Thanks for reminding me to fix it!
Be careful with the release dates in the gogData, you may have already noticed but they are in seconds rather than milliseconds and need to be converted before they will give you the correct date.
No idea why they did it that way but it took me a while to figure out why they weren't right when I was trying to do something with Gog's dates.
high rated
avatar
Yepoleb: GOG Database collects data from the store pages and Galaxy APIs and makes it accessible on a single page for each game. Currently its uses are a bit limited and mostly developer focused, but I have many ideas of features that could be useful for all players.
Nicely done, it looks very useful indeed. And thanks for making the source code available! I find your use of sqlalchemy especially useful for my selfish purposes - I always wanted to figure out how to use it (by looking at a working example), but was too lazy to research it until I stumbled onto your project.

I'll have an in-depth look over it and may come up with some suggestions later on, that is, if you don't mind getting some feedback :).

Your RESTful API skills are probably better than mine anyway, but I've also been collecting and storing API data using python scripts for some time now, so I'm aware of several quirks and traps GOG API data can shove at you - should you find yourself wondering about anything at any point, do reach out to me, I'd be glad to help out if I can.
Post edited June 15, 2017 by WinterSnowfall
high rated
avatar
muntdefems: Good job! As soon as you implement file tracking and regional pricing/blocking, there'll be no need for me to keep parsing MaGog... :P

One doubt, though: the website doesn't show this info, but you seem to be collecting info about game genres, system requirements, ratings, etc. that isn't included in the Galaxy API. Where do you get this info from? Do you parse the HTML code of each game page?
Each gog.com page has a JavaScript variable called gogData that contains almost all of the information in raw form. I'm using regex and a JSON parser to process it, you can find a basic implementation at https://github.com/Yepoleb/gogdb/blob/master/gogdb_site/views/gogdata.py or a more complicated one at https://github.com/Yepoleb/pygogapi/blob/bb7b600a59c2e3ab3a7ee0fca1e18b61b4bde715/gogapi.py#L182

avatar
adaliabooks: Well done, that looks great. I might even be able to use it swap some functionality over from MaGog (though I'm not sure you have what I really need, which is the bundled games)

Be careful with the release dates in the gogData, you may have already noticed but they are in seconds rather than milliseconds and need to be converted before they will give you the correct date.
No idea why they did it that way but it took me a while to figure out why they weren't right when I was trying to do something with Gog's dates.
I'm still searching for a nice way to figure out package contents, but that's definitely coming at some point. Having timestamps in seconds is actually the standard way to do it in, so that's nothing unexpected to me. JavaScript is the weird one in this case, not GOG :).