In this chapter, we will cover:
- Retrying failed page downloads
- Supporting page redirects
- Waiting for content to be available in Selenium
- Limiting crawling to a single domain
- Processing infinitely scrolling pages
- Controlling the depth of a crawl
- Controlling the length of a crawl
- Handling paginated websites
- Handling forms and form-based authorization
- Handling basic authorization
- Preventing bans by scraping via proxies
- Randomizing user agents
- Caching responses