Главная > php, Скрипты, Яндекс > Автоматизация работы с addurl Яндекса

Автоматизация работы с addurl Яндекса

Я уже как-то писал о том, как «разгадывать капчи«, а сейчас решил развить этот пример в что-то более практичное.

Цель: автоматизировать добавление страниц в addurl Яндекса (webmaster.yandex.ru)

Скрипт конечно же на PHP и для определения значений капчи я все также использую сервис anti-captcha.com.

Вперед…

Форма с данными отправляется на http://webmaster.yandex.ru/add.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;
}

К примеру чтобы из вот этого

<input type=“hidden” name=“key” value=“41b8227dcc2c765d90386921797db4ca”>

вытащить идентификатор, использует функцию следующим образом

$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/add.xml",$postdata);

Вот и все. Кстате для этого метода нет необходимости использовать прокси т.к. капчи вводятся безошибочно, а значит и банить незачто!

Addurl Яндекс

google.com bobrdobr.ru del.icio.us technorati.com linkstore.ru news2.ru rumarkz.ru memori.ru moemesto.ru

koder php, Скрипты, Яндекс , , , ,

  1. ks-fan
    21 Март 2009 в 09:55 | #1

    Что-то у меня ошибка вылазиет: Upload ERROR
    Как исправить?

  2. koder
    23 Март 2009 в 13:49 | #2

    Эта ошибка возникает когда не удается загрузить отправить капчу анти-капче. Чтобы понять в чем дело замени

    echo «Upload ERROR»;

    на

    echo «Error: «.$rev;

    получишь код ошибки.

  3. wilf
    17 Апрель 2009 в 12:59 | #3

    исходник не скачивается..

  4. koder
    17 Апрель 2009 в 15:47 | #4

    @wilf
    спасибо, исправил

  5. Роман
    24 Апрель 2009 в 09:35 | #5

    Нихрена не работает ваш Великий скрипт!
    Не удается ему распознать каптчу на сайте http://anti-captcha.com
    т.к. данный сайт предлагает свои услуги за бабки, за 1 доллар!
    Даже на нем зарегиться нельзя, так как нужен код приглашения!

  6. koder
    24 Апрель 2009 в 11:27 | #6

    @Роман
    А я где-то писал, что антикапча бесплатная?
    Конечно за деньги. Только 1 доллар = 1000 капч

  7. andrinho
    6 Май 2009 в 17:42 | #7

    Поделитесь опытом: натыкались ли на грабли при массовом добавлении страниц в адурилку таким способом? Например, при частом парсинге поисковой выдачи яндекс начинает спрашивать, не робот ли вы. Здесь тоже есть такая защита или пока всё свободно? Если защита есть, то какие интервалы времени между добавлениями безопасны?

  8. koder
    7 Май 2009 в 01:15 | #8

    Честно говоря после написания скрипта у меня так и не возникла необходимость массово что-то кидать в addurl, НО
    при каждом добавлении мы «вводим капчу» и по-этому я не думаю что яндекс может подумать что это робот

  9. Илья
    10 Ноябрь 2009 в 14:09 | #9

    В связи с изменениями на яндексе – есть смысл пересмотреть структуру скрипта, ныне он не пашет.

  10. High definition
    14 Ноябрь 2009 в 10:39 | #10

    поддерживаю! скрипт не работает! подскажите, что подправить????

  11. koder
    14 Ноябрь 2009 в 14:34 | #11

    Ну в общем подправил и обновил файл.
    Вот только возникла проблема с выводом отчета (определением статуса), возможно исправлю в будущем

  12. High definition
    15 Ноябрь 2009 в 08:47 | #12

    а ключ антикаптчи вы случайно свой в файле оставили? или это левый?

  13. koder
    15 Ноябрь 2009 в 13:50 | #13

    Хаха. Забыл убрать) Спасибо!

  14. High definition
    15 Ноябрь 2009 в 21:26 | #14

    не за что)
    ждем исправление отчета)

  15. High definition
    18 Ноябрь 2009 в 06:30 | #15

    Есть подозрение, что обновленный скрипт не работает…
    Пытался сам поправить выдачу отчета (добавил перекодировку $cap из UTF в 1251 при получении результата) – оказалось, что во втором случае $cap выдает исходную страничку, только со вставленным в поле добавляемым адресом…
    Прошу автора проверить, т.к. моего опыта не хватает…

  16. koder
    18 Ноябрь 2009 в 13:46 | #16

    если бы он не работал я б его не выкладывал!
    отчеты не смог сделать потому что строчка оповещающая о статусе операции подгружается не сразу.. может аяксом.. но в этом пока небыло времени копаться

  17. gaws
    3 Декабрь 2009 в 15:53 | #17

    Насколько я понял скрипт не актуален. яндекс убрал страничку добавления

  18. koder
    3 Декабрь 2009 в 16:24 | #18

    @gaws
    http://webmaster.yandex.ru/addurl.xml
    вроде все на месте

  1. Пока что нет уведомлений.