10.07.2008, 20:00 | #1 |
Новичок
Регистрация: 23.03.2008
Сообщений: 9
Вес репутации: 0
|
[php] Определение списка проиндексированных Яндексом страниц.
Здравствуйте.
Для этих целей я использовал (и использую)такой скрипт: Код:
<? echo '<form method=post><input size="30" type="text" name="site" value=""> <input type="submit" value="OK :)"> </form>'; function rhost($rhost){ $out=''; $part=''; while(strpos($rhost,'.')!==false){ $part=substr($rhost,0,strpos($rhost,'.')); $rhost=substr($rhost,1+strpos($rhost,'.')); $out='.'.$part.$out; } $out=$rhost.$out; return $out; } function pget($url){ $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_HEADER, 0); curl_setopt($ch, CURLOPT_USERAGENT, "User-Agent=Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.8.1.14) Gecko/20080404 Firefox/2.0.0.14"); curl_setopt($ch, CURLOPT_COOKIE,"YX_SEARCHPREFS=favicons:1,lang:all,ton:1,banners:,search_form:topbot,numdoc:50,target:_blank,desc:sometimes,lr:,wstat:,t:2,family:; path=/; expires=Friday, 31-Dec-10 23:59:59 GMT; domain=.yandex.ru;") ; curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); $ret=curl_exec($ch); curl_close($ch); return $ret; } function sget($site){ $flag=true; $page=0; $counter=0; //echo '<textarea name="list" cols="40" rows="25">'; while($flag===true){ $out=''; $res=pget('http://yandex.ru/yandsearch?p='.$page.'&pag=u&site='.$site.'&lang=ru&rd=0&text=rhost%3D%22'.rhost($site).'%22|rhost%3D%22'.rhost($site).'.*%22'); preg_match_all('!<span style="color:#060;">(.*?) · !si',$res,$urls); foreach ($urls[1] as $i) { $result[$counter]=str_replace("\n","",$i); $counter++; } $page++; if (strpos($res,'/yandsearch?p='.$page.'&pag=u')===false) {$flag=false;} } return $result; } if (isset($_POST['site'])){ $site=$_POST['site']; $pages=sget($site); sort($pages); reset($pages); echo "<pre>"; foreach ($pages as $i) { echo $i."\n";} echo "</pre>"; } echo $page; ?> PS этот-же код только с коментариями. http://lazutov.ru/tools/ycheck/ |
10.07.2008, 20:09 | #2 | |
Мастер
|
Спасибо классный скрипт вот только одна проблемка если сайта нет в индексе то выдаёт ошибки скирпт
Добавлено через 1 минуту Цитата:
__________________
Умный в Яндекс не пойдёт, умный в Гугле всё найдёт! Последний раз редактировалось Crudelis; 10.07.2008 в 20:09. Причина: Добавлено сообщение |
|
10.07.2008, 20:30 | #3 |
Новичок
Регистрация: 23.03.2008
Сообщений: 9
Вес репутации: 0
|
Вы знайте: мое отношение к этому таково: скрипт не публичный, свою функцию -опредилить он выполняет.
@sort(..) @reset(..) уберет симптомы ошибки(но не исправит их) Для foreach поможет проверка is_array(http://ru2.php.net/manual/ru/function.is-array.php) или где-то в начале скрипта $pages=array(); Спасибо |
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
проверка проиндексированных страниц в сапе | koreec | Вопросы по работе системы | 2 | 20.06.2008 05:47 |
Несоответствие проиндексированных страниц Sape и Яши | BeckShev | Вопросы от новичков | 10 | 19.05.2008 19:12 |
Выгрузка списка проиндексированных страниц | hksalavat | Яндекс | 5 | 12.05.2008 13:50 |
Удаление страниц, не проиндексированных Яндексом | Vipartyzan | Вопросы от новичков | 4 | 27.02.2008 20:36 |
Чекер проиндексированных гуглем страниц | Bipa | Пожелания пользователей системы | 0 | 13.11.2007 20:37 |
Часовой пояс GMT +3, время: 11:57.