- permanently block known anonymizer service IP addresses
- permanently block known server IP address ranges, such as AWS
- temporarily (short intervals, 5-15 mins) block IP addresses with typical scraping access patterns (more than 1-2 hits/sec over 30+ secs)
- add captchas
All of these will cost you a small fraction of legitimate users and are only worth it if scraping puts a strain on your server or kills your business model...