Как вы организуете сбор данных из XML-сервиса Яндекс.Вебмастера?

O
На сайте с 28.04.2008
Offline
96
1218

До 28 июля мой сервис работал (при помощи функции file_get_contents), запрос делала с HTTP (не HTTPS). Теперь ничего не работает ни со старым запросом, ни с новым, ни без HTTPS, ни с HTTPS. Функция выдает FALSE. Попробовала CURL, тоже выдает пустоту. Что случилось? У кого работает?

---------- Добавлено 11.08.2015 в 13:03 ----------

Вот пример моего прежнего кода:


// XML запрос
$doc = <<<DOC
<?xml version="1.0" encoding="utf-8"?>
<request>
<query>$esc $search_tail</query>
<groupings>
<groupby attr="d" mode="deep" groups-on-page="10" docs-in-group="1" />
</groupings>
</request>
DOC;



$context = stream_context_create(array(

'http' => array(
'method'=>"POST",
'header'=>"Content-type: application/xml\r\n" .
"Content-length: " . strlen($doc),
'content'=>$doc

)
));



$response = file_get_contents('https://yandex.ru/search/xml?user=USER&key=KEYXXXXXXXXX' . $region , true, $context );

if($response) {
............
}

P
На сайте с 25.05.2007
Offline
103
#1
olgash:
Попробовала CURL, тоже выдает пустоту.

Видимо, неправильно вы используете curl. Через него все по-прежнему работает.

coolakov.ru/tools (http://coolakov.ru/tools/): определение конкурентов (http://coolakov.ru/tools/most_promoted/), кластеризация запросов (http://coolakov.ru/tools/razbivka/) и т.д.
O
На сайте с 28.04.2008
Offline
96
#2

подзабыла уже PHP, скрипт нашла в инете. Может подскажете нормальный скрипт?

TF-Studio
На сайте с 17.08.2010
Offline
321
#3
Всё ещё лучший способ заработка для белых сайтов: GoGetLinks (https://www.gogetlinks.net/?inv=fahbn8).
O
На сайте с 28.04.2008
Offline
96
#4

примерно то же самое использовала, но не работает:


$postdata = '<?xml version="1.0" encoding="UTF-8"?><request><query>Блог сеошника</query><sortby></sortby><maxpassages>1</maxpassages><page>0</page><groupings><groupby attr="d" mode="deep" groups-on-page="10" docs-in-group="3" /></groupings></request>';

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "http://xmlsearch.yandex.ru/xmlsearch?user=ТУТ_ВАШ_НИКНЕЙМ&key=ТУТ_ВАШ_КЛЮЧ");
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $postdata);
curl_setopt($ch, CURLOPT_TIMEOUT, 20);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 20);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_ENCODING, "");
$data = curl_exec($ch);
curl_close($ch);

$pos = 0;
$xml = simplexml_load_string($data);
foreach ($xml->response->results->grouping->group as $urldata)
{
$pos++;
$name = $urldata->doc->url;
$poss = strripos($name, 'gloys.ru');
if ($poss > 0) {
echo 'Позиция: '.$pos;
break;
}
}

вот примерно такой код использую, но выдается пустота (а именно $data)

В первую строку curl_setopt подставлен новый формат запроса с HTTPS.

Может мой IP забанили? Или с токеном что-то не так? Все нарушилось 28 июля. До этого работало как часы. Правда уже с весны Яндексоиды переколбашивают API и постоянно что-то слетает, то Яндекс.Метрика, то Яндекс.Вебмастер.

---------- Добавлено 11.08.2015 в 17:18 ----------

а вообще ничего не понимаю, статистика в сервисе XML идет, но функции тупо передают пустоту :( Где закрался глюк то?? УЖе ничего не понимаю... Хоть бы ошибку какую выдало бы.

---------- Добавлено 11.08.2015 в 18:04 ----------

видимо какой-то библиотеки не хватает, чтобы работать с HTTPS... капец, взяли все сломали. Страницы HTTP открываются с помощью CURL, а именно запрос ЯНдекс.Вебмастера с HTTPS отдает FALSE. Уже голову сломала.

---------- Добавлено 11.08.2015 в 18:10 ----------

Все нашла))))

curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);

curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);

может кому пригодиться)

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