Pull to refresh

Comments 3

Как решить проблемы с капчей при веб-скрейпинге

Если говорить не «вообще», а «конкретно», то вполне можно использовать веб-скрапинг с помощью расширений на старых версиях Хрома, все еще поддерживающих вторую версию манифеста.

При этом, начальную капчу мы проходим вручную, потом это дает нам какое-то количество времени (обычно, минут 5 – 30) до появления следующей капчи. Во время этого интервала мы запускаем свой небольшой скрипт расширения, который с небольшой задержкой, скажем, секунд пять, делает запросы на загрузку необходимых html-страниц, которые мы просто тупо сохраняем в своем каталоге. Их обработкой мы можем заняться потом, когда уже все скачаем, Это может быть и сотня тысяч страниц.

При этом, в процессе скачивания страниц мы можем отследить начало сбоя. В Хроме это хорошо видно. Останавливаем скрипт, переинициализируем его, при необходимости, снова вручную набираем соответствующий url в Хроме, опять проходим капчу (при подозрении сервера, он может запрашивать ее несколько раз). Для профилактики подозрений, периодически меняем ай-пи, например, посредством вэпээна.

Скриптом расширения, хотя там всего пара десятков строчек, делиться не буду, чтобы не палиться. Раньше я использовал скрипты Питона для аналогичных целей, пока не столкнулся с капчей. С ней возникли проблемы, пока не нашел в Интернете подходящий прототип расширения на базе второй версии манифеста (современный Хром поддерживает только третью, значительно урезанную в своих возможностях). Слегка доделал его «напильником» и вуаля…

В ручную это хорошо когда у вас несколько потоков и сайт небольшой, помню у нас 10 человек в свое время сидело и только и делало, что капчи в ручную вводило, даже кофе не успевали попить)
Серьезно? VPN с их заезженными IP, старая версия хрома, что еще? У вас такой траст будет, что вам или левые данные будут скармливать или капчи каждую минуту показывать. Еще расскажите как отпечаток менять в хроме, чтобы траст не падал)

Я ведь реальные истории рассказываю, не выдуманные. И случаи описываю не «вообще», а «конкретно». Мои старые скрипты на Питоне здесь уже не работали (из-за капчи). А новые, на втором манифесте Хрома, вполне..

Два разных сайта загрузил на десятки тысяч страниц (порядка ста, каждый). На каждый ушло по месяцу, примерно. Сайты крутили время доступа от 5 до 30 минут, потом обратно. Это несколько напрягало, но, параллельно, занимался другой работой, да и спешить мне было особо некуда.

Сначала увлекался, задержки между запросами были нулевые и сайты мои вэпээны быстро банили. Но всегда их «хавали» при ротации. Допускаю, что, сервера слишком понадеялись на свои капчи и другие способы защиты особо не использовали, хотя, я постоянно ждал подвоха с их стороны.

Как бы там ни было, все сработало, результат я свой получил. Были еще проблемы, связанные с необходимостью рендеринга страниц, но уже для других сайтов. Для этого тоже нашел подходящие прототипы для Хрома. Начальные эксперименты были удачны, но потом, просто, по разным причинам, интерес к этим серверным данным пропал, и этот проект я забросил до тех пор, пока не возникнет аналогичная потребность снова.

Таким образом, на универсальность не претендую, но свои личные проблемы решил. Более того, все данные корректны, я их полностью обработал и проверил. А вот, когда работал с подобными скриптами на Питоне, без капч, то, да, за ними нужен был глаз да глаз. Данные отгружали всегда, но после небольшого объема корректных данных начинали поступать некорректные. Да и задержку между запросами там нужно было выставлять секунд пятнадцать, не меньше, ибо очень подозрительные сервера были. Зато особо не придирались к ай-пи, можно было работать без вэпээна. Короче говоря, везде использовал специфику частных случаев…

Sign up to leave a comment.

Articles