How to Rate Limit Async Requests in Python
Quick tutorial on how to limit asynchronous python connections when web scraping. This can reduce and balance out web scraping speed to avoid scraping pages too fast and blocking.
When scraping pages protected by PerimeterX we might encounter messages like "Please verify you are Human: Press & Hold":
This message means the web scraper has been identified and is being blocked. PerimeterX is using various fingerprinting and detection techniques, like:
And other details like request pattern, HTTP version etc. To avoid being blocked one option is to fortify the web scraper against these identification methods.
For more on all technologies used for blocking web scrapers see our full introduction guide
Alternatively, a web scraping API such as ScrapFly can be used to scrape all PerimeterX pages. For that see the Anti Scraping Protection feature.