Обход капчи при парсинге в PHP
Итак, теперь вы знаете как устроена капча. Давайте теперь о том, как ее обойти. Для этого нужно сделать несколько запросов с помощью CURL.
Первый запрос должен слаться на файл с капчей. Куда его слать - видно в HTML коде формы или же можно отследить в отладчике, куда отправляются запросы.
Результатом данной операции будет картинка.
Ее можно сохранить в файл с помощью
file_put_contents
. После этого
капчу можно разобрать ее каким-либо
образом (для начала вручную).
Запрос на капчу обязательно следует слать
через CURL, а не file_get_contents
,
так как нам обязательно
следует принимать и оправлять куки,
ведь капча работает на сессиях PHP.
Итак, получаем капчу, сохраняем его в файл, разбираем эту капчу вручную и шлем второй запрос уже на страницу с формой вместе с POST данными для формы (и с разобранной капчей).
Не ошибитесь и не сделайте лишнего запроса к капче!
Скачайте сайт по ссылке targ.zip и разверните его у себя. Напишите парсер, который заполнит форму, передав два числа, затем получит ответ сайта и спарсит сумму переданных чисел.