обход 1000 запросов в яндекс xml

12
A
На сайте с 25.10.2005
Offline
58
#11
BigMaK:
Теоритически наличие сайта в РСЯ снимает лимит на 1000 запросов в день.

Но лично у меня ситуация такая:
Сайт в РСЯ. 5 минут назад превысил лимит в 1000 запросов. Дальше ничего не работает, то есть лимит для IP в РСЯ сохранился и равен 1000 запросов, как побороть - не знаю.

Нужно писать в саппорт на support@xml.yandex.ru с просьбой об увеличении лимита, спросят, сколько вам нужно, после чего увеличат ежедневный лимит.

BigMaK
На сайте с 12.12.2005
Offline
109
#12
Antimal:
Нужно писать в саппорт на support@xml.yandex.ru с просьбой об увеличении лимита, спросят, сколько вам нужно, после чего увеличат ежедневный лимит.

Написал. Ответили следующее:

На вашем сайте мы не наблюдаем поиска. Доступ к Яндекс.XML свыше 1000 запросов
предоставляется только для организации поиска и показа на нем рекламных блоков
Директа.
Сервис мгновенного обратного звонка с сайта (http://www.chaser.ru) - увеличивает телефонную конверсию сайта на 20-80%.
[Удален]
#13

Хех , а я осуществил свою мысль на пхп , которая нафиг убирает эт ограничение в ya.xml )

[Удален]
#14
Адвокат:
Парсить надо в 1 поток, и задержка между запросами 2 секунды, все работает, проверено. Капча не появляется.

А вообще помоему вы тут были не внимательны .

Да , 2 сек - каптча не вылазиет .

Но у меня осуществляется точная выдача , только если я ставлю слип не меньше чем 4 сек . ( даже 5 )

Если меньше - бывает что яндекс один запрос обработает отлично - второй не обработает .

[Удален]
#15

Всё довольно просто: пишется модуль, который стучится к yandex.xml и получает данные. Также, он принимает данные, собственно по которым и стучится к яше. И пишется клиент для этого модуля, который каждый новый запрос посылает к новому модулю. Я делал 2 десятка серверных модулей, которые по разным хостингам раскидывал (соответственно и регал их ip в Яше), и один клиент - нормально и без проблем по 15*10^3 запросов в день ;)

Вот такой творческий подход к распределённым вычислениям :)

[Удален]
#16
nikitian:
Всё довольно просто: пишется модуль, который стучится к yandex.xml и получает данные. Также, он принимает данные, собственно по которым и стучится к яше. И пишется клиент для этого модуля, который каждый новый запрос посылает к новому модулю. Я делал 2 десятка серверных модулей, которые по разным хостингам раскидывал (соответственно и регал их ip в Яше), и один клиент - нормально и без проблем по 15*10^3 запросов в день ;)
Вот такой творческий подход к распределённым вычислениям :)

Довольно интересно , но что-то вообще не допонял 🚬

nikitian:

Также, он принимает данные, собственно по которым и стучится к яше.

Всмысле? :-)

[Удален]
#17

Вот пример серверного скрипта, который я писал:

<?php

$url=urldecode($_GET['url']);
$post='<?xml version=\'1.0\' encoding=\'windows-1251\'?>
<request>
<query>(url="'.$url.'/*"|url="www.'.$url.'/*")</query>
<page>0</page>
<maxpassages>0</maxpassages>
<groupings>
<groupby attr=\'d\' mode=\'deep\' groups-on-page=\'10\' docs-in-group=\'1\' curcateg=\'-1\'/>
</groupings>
</request>';
$curl=@curl_init();
curl_setopt($curl, CURLOPT_URL, 'http://xmlsearch.yandex.ru/xmlsearch/');
curl_setopt($curl, CURLOPT_POST, 1);
curl_setopt($curl, CURLOPT_POSTFIELDS, $post);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_HEADER, false);
curl_setopt($curl, CURLOPT_TIMEOUT, 250);
curl_setopt($curl,CURLOPT_USERAGENT,'Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)');
$resp=curl_exec($curl);
$err=curl_error($curl);
curl_close($curl);
//Ловим ошибки
if(strpos($resp,'<error code="1">')){echo'XMLSyntaxError';exit;}//Синтаксическая ошибка — ошибка в языке запросов
if(strpos($resp,'<error code="8">')){echo'ZoneNotIndexed';exit;}//Зона не проиндексирована — обратите внимание на корректность параметров зонно-атрибутивного поиска
if(strpos($resp,'<error code="15">')){echo'NotIndexed';exit;}//Документ не прондексирован
if(strpos($resp,'<error code="18">')){echo'XMLError';exit;}//Ошибка в XML-запросе — проверьте валидность отправляемого XML и корректность параметров
if(strpos($resp,'<error code="20">')){echo'YandexError';exit;}//Неизвестная ошибка — при повторяемости ошибки обратитесь к разработчикам с описанием проблемы
if(!strpos($resp,'<doccount>')){echo'YandexOffLine';exit;}//Нет ответа от Яндекса
//Выцепляем количество страниц
preg_match('|<doccount>(.*)</doccount>|Uis', $resp, $out);
echo $out[1];
?>

Скрипт проверяет количество проиндексированных страниц.

Клиента не выложу, т.к. это интеллектуальная собственность ;)

[Удален]
#18

В тему =))

Принцип , откуда берется количество проиндексированный страниц , и вообще все , я знаю , так как сижу рядом с 2 сео с опытом от 10 лет ) Я сам только дописал индексатор , с красивым выводом в сортирующейся табле и отчетом в .xls +)

Ваш $post можно переделать в одну строку гетом кстати )

Клиент мне ваш и не нужен =)) Мне нужно пол часа , чтоб такое сделать .

Только я до сих по не понял , откуда 15*10^3 ? 😂

П.С. может быть меня глючит после сегодняшей ночи ..

А вообще , если хотите , можно пообщаться в аське : 291-250-323 +)

П.П.С. и вообще есть ещё один способ , который позволяет прилично превысить лимит с одного сервера , раз в 100 как минимум)

П.П.С. а ещё можно замутить через какие нибудь стабильные прокси , без всяких 20 серверных скриптов )

12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий