Всё просто: если вы хотите полностью прикинуться браузером, то вам надо стать настоящим браузером. Для самых сложных случаев я использую пакет
https://github.com/niklasb/dryscrape. В двух словах это биндинг к WebKit.
Проверки могут стоят самые разные: начиная от обычной проверки заголовка User-Agent и заканчивая AJAX запросами с параметрами, которые сгенерировал JavaScript в браузере.