fixed Understat scraper to work with the new JSON API endpoints #907
+82
−16
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
As discussed on Issues #904 and #905, the understat module has stopped working. Understat no longer supports HTML scraping but instead offers API endpoints where you can access the same data as before. I've made the change so that the package uses the endpoints instead. Understat tests pass (they don't pass on the current main branch), but not tests on the other packages. I've tested and these tests failed to begin with so it's not an issue my pull causes but there's an underlying issue with these modules or the tests are not maintained properly.
API Integration and Data Fetching Improvements:
/getStatData,/getLeagueData/{league}/{season},/getMatchData/{match_id}) instead of HTML scraping._request_apihelper method to centralize API requests with appropriate headers, caching, and file storage, improving consistency and reducing code duplication.UNDERSTAT_HEADERSconstant to ensure all API requests include the requiredX-Requested-Withheader.Session and Cookie Management:
_ensure_cookiesto initialize session cookies from the homepage before making API requests, ensuring authenticated and consistent access. [1] [2]