февраля 2, 2010 | by Макс | Я уже чуть раньше написал о том, как “разгадывать капчи”, а сейчас решил развить этот пример в что-то более практичное. Цель: автоматизировать добавление страниц в addurl Яндекса (webmaster. yandex. ru) Скрипт конечно же на PHP и для определения значений капчи я все также использую сервис anti-captcha. com. Вперед… Форма с данными отправляется на http://webmaster. yandex. ru/addurl. xml Принимаемые данные: url – добавляемый url key – идентификатор операции rep – значение капчи Основная задача для нас – получить идентификатор операции. Это своего рода идентификатор сессии, только он не прячется в куках. Можно написать регулярное выражение, но я решил использовать одну известную мне полезную функцию //возвращает то, что между $left и $right в $str function cut_str($str, $left, $right) { $str = substr(stristr($str, $left), strlen($left)); $leftLen = strlen(stristr($str, $right)); $leftLen = $leftLen? -($leftLen) : strlen($str); $str = substr($str, 0, $leftLen); return $str; } К примеру чтобы из вот этого
вытащить идентификатор, использует функцию следующим образом $key = cut_str($data, ‘name=”key” value=”‘,’”‘); Дальше идем за качпей. Ее получаем по адресу http://captcha. yandex. net/image? key={идентификатор операции} Следующим шагом нужно определить значение этой капчи. Об этом я подробно писал раньше. Если значение капчи нам известно, то остается только отправить форму скрипту яндекса. $postdata = array( ‘url’ => $link, ‘key’ => $key, ‘rep’ => $captcha_value ); $cap = geturl(“http://webmaster. yandex. ru/addurl. xml”,$postdata); Вот и все. Кстате для этого метода нет необходимости использовать прокси т. к. капчи вводятся безошибочно, а значит и банить незачто! Ну и собственно весь PHP скрипт для автоматизации добавление страниц в addurl яндекса. Используется anti-captcha: h++p://myseoincome. ru/2009/02/php_yandex_addurl/ Теги: capcha, капча, Яндекс
Понравилась статья? Получай обновления и будь всегда в курсе событий!