what would be the best way to obtain the necessary data for all users in the shortest possible time?
Based on
what you need, you're going to have to be selective. You can't update everything all the time. BPIP for instance scrapes profiles on a regular basis, depending on how active the user is.
If I’m not mistaken, the forum allows one request per second; exceeding this limit results in a ban.
You'll get "rate limited", not banned. After a few seconds it should work again. Unless you
really push it, in that case Cloudflare bans you for an hour.
That’s exactly my problem – being too selective.
What occurred to me was to use the ‘recent posts’ section to scrape profiles based on their most recent posts, without making too many requests on the forum.
However, this wouldn’t update the scores of profiles that haven’t posted for a long time.
I’m not sure if this idea would work well