Парсер wordstat.yandex.ru

Опубликовано 9 февраля, 2009 в PHP

Иногда пригождается. Публиковал функцию на серче, потом снова потерял. Увековечу ка я ее. Итак, функции передается параметром ключевой запрос, позвращается количество запросов в месяц по wordstat.yandex.ru.

<?php
function wordstat($query) {
   $query = urlencode($query);
   $url = "http://wordstat.yandex.ru/advq?rpt=ppc&key=&shw=1&tm=&checkboxes=&text=$query&regions_text=%C2%F1%E5&regions=";
   $ch = curl_init();
   curl_setopt($ch, CURLOPT_URL, $url);
   curl_setopt($ch, CURLOPT_HEADER, 0);
   curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)");
   curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
   $html = curl_exec($ch);
   curl_close($ch);
   preg_match_all('/<td\salign=\"right\">(.*)<\/td>/Usi', $html, $return);
   if(isset($return[1][2]))
    return $return[1][2];
   else
    return '0';
}
echo wordstat('Артур Пирожков');
?>

Добавлено много времени спустя:

Яндекс что-то подкрутил в вордстате, URL теперь другие стали + UTF-8 необходим в том же URL. Вот новая версия:

<?php
function wordstat($query) {
   $query = iconv('windows-1251', 'utf-8', strtolower($query));
   $url = "http://wordstat.yandex.ru/?cmd=words&geo=&page=1&text=".urlencode($query)."&text_geo=%D0%92%D1%81%D0%B5";
   $ch = curl_init();
   curl_setopt($ch, CURLOPT_URL, $url);
   curl_setopt($ch, CURLOPT_HEADER, 0);
   curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)");
   curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
   $html = curl_exec($ch);
   curl_close($ch);
   preg_match_all('/<td\salign=\"right\">(.*)<\/td>/Usi', $html, $return);
   if(isset($return[1][2]))
    return $return[1][2];
   else
    return '0';
}
echo wordstat('Артур Пирожков');
?>



Комментарии «Парсер wordstat.yandex.ru»:
Комментариев: 12. Обязательно оставьте свой!
madbirdy 09.07.2009 в 20:58

То что искал! Спасибо!

Ander 13.11.2009 в 19:10

Не совсем понял… А как передавать в скрипт ключевую фразу, для запроса её из Вордстат?!

pistol 13.11.2009 в 20:26

Не совсем понял… А как передавать в скрипт ключевую фразу, для запроса её из Вордстат?!

Артур пирожков в последней строке – это фраза.

indigo-software 02.12.2009 в 6:36

http://indigo-software.blogspot.com моя реализация парсера

Vit3k 23.01.2010 в 19:54

Алгоритм поменялся

lev 22.04.2010 в 16:56

У меня почему то не работает скрипт на новом хостинге

pistol 22.04.2010 в 17:12

Скрипт неактуален, Яндекс новый алгоритмы защиты ввел.
Как время появится – перепишу.

Владимир 19.07.2010 в 22:08

curl_setopt ($ch, CURLOPT_COOKIE, ‘fuid01=4b55eb3819e45ffc.GHz1qZGVLdiellfrdaV8oOurD-eyAQLruoiXkgwQlajZVIiK72GT1sl3vBlpr8MCD-dfUUrA7hZR_ahgXIXDZ-3EAqCx5Nfdnl4SSdbSbfPeOJCprMor9M0eB8hpEVX1;’);

И норм :)

Постельное белье 19.01.2011 в 23:46

Не работает, на экране «0″ (ноль) ((((((

Серж 01.02.2011 в 13:12

совсем не понял… =(((

feodor 06.05.2011 в 21:05

Вот так работает:

([0-9]*)

feodor 06.05.2011 в 21:05

function wordstat($query) {
$query = iconv(‘windows-1251′, ‘utf-8′, strtolower($query));
$url = «http://wordstat.yandex.ru/?cmd=words&geo=&page=1&text=».urlencode($query).»&text_geo=%D0%92%D1%81%D0%B5″;
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_USERAGENT, «Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)»);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_COOKIE, ‘fuid01=4b55eb3819e45ffc.GHz1qZGVLdiellfrdaV8oOurD-eyAQLruoiXkgwQlajZVIiK72GT1sl3vBlpr8MCD-dfUUrA7hZR_ahgXIXDZ-3EAqCx5Nfdnl4SSdbSbfPeOJCprMor9M0eB8hpEVX1;’);
$html = curl_exec($ch);
//print $html;
curl_close($ch);
preg_match_all(«/right-td\»>([0-9]*)</Ui", $html, $return);
if(isset($return[1][0]))
return $return[1][0];
else
return '0';
}
echo wordstat('Артур Пирожков');

Ваш комментарий: