Rocksmith+ Scraper

During the Rocksmith+ beta, there was circulated a Google Docs Spreadsheet with the songs available in the beta period. This was of course not an ideal way to show what songs was regionally available.

Therefor I decided to make the same sort of list using a database and make it available through API. But after some testing I realised that it would with time require a full time position for data management if I didn’t get it automated.

Shortly before the release in September 2022, details about the API for Ubisoft’s hosting had gotten leaked out, and words reached me. With a publically visible API I could of course make a sniffer, so I did. Circumventing a few challenges such as pretending to be a valid Ubisoft query, and region identifiers, I quickly got around 10,000 songs scraped with about 24 regions.

Of course it wasn’t going to be just this easy. 10,000+ songs strained my API when trying to import them, so I had to redesign the importer, and Ubisoft had to discover that the workaround I used for regions wasn’t safe enough so they made their system more robust.

My final solution (for now) is using VPN. It bode a few challenges getting the code to work with VPN, but I got it working, and currently the list holds just over 11,000 songs. Automated scrapes updates songlist and arrangemnts on a nightly basis, paving the way for what might be the next project with the harvested data.

The scraper and the importer are both written in python, and the code is not particularly complicated. I keep the source code closed since I have used, and might still use, weaknesses in the main API.

The songlist page is written in PHP and hosted on this same server as this article.

The API is available with a private key, if you have ideas of things to do with it contact me and I can grant access.

Add a Comment