Кто знает где можно узнать PR какого-либо сайта? Чтобы туда можно было оправлять запросы и выдергивать оттуда PR сайтов, типа как у яндекса тИЦ определять через http://search.yaca.yandex.ru/yca/cy/ch/yoursite.ru. Только, плиз, не указывайте сервисы, где идет передача url через POST, это не пойдет мне.
Полнотекстовый поиск через Mysql, морфологию использую, её даже можно отключить, индексирую через file_get_content, и там убираю html-теги. Вообще скрипт я нашел для получения PR, я нашел. Вот он PHP: $website = "http://site.ru"; $pr = GooglePageRank($website); function GooglePageRank($url){ $arr = parse_url($url); $url = $arr['host']; $url="info:".$url; $ch=GoogleCSum($url,0xE6359A60); $host="toolbarqueries.google.com"; $hostip=gethostbyname($host); $query ="GET /search?client=navclient-auto&ch=6".$ch."&ie=UTF-8&oe=UTF-8&features=Rank&q=".rawurlencode($url)." HTTP/1.0\r\n"; $query.="Host: $host\r\n"; $rank=-1; $query.="User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)\r\n"; $query.="Connection: Close\r\n\r\n"; $fp=fsockopen($hostip,80,$errno,$errstr,30); if ($fp) { fputs($fp,$query); $data=""; while (!feof($fp)) $data.=fgets($fp,4096); fclose($fp); $data=explode("\n",$data); foreach ($data as $line) if (!is_bool(strpos($line,"Rank_1"))) { $rank=explode(":",trim($line)); $rank=$rank[2]; break; } } return $rank; } function GoogleCSum($s,$key){ $v4=$len=strlen($s); $esi=$key; $ebx=$edi=0x9E3779B9; $p=0; if ($len>=12) for($i=0;$i<floor($len/12);$i++) { $edi=unsign($edi+ord($s[$p+4])+(ord($s[$p+5]) << 8)+(ord($s[$p+6]) << 16)+(ord($s[$p+7]) << 24)); $esi=unsign($esi+ord($s[$p+8])+(ord($s[$p+9]) << 8)+(ord($s[$p+10]) << 16)+(ord($s[$p+11]) << 24)); $edx=unsign(($ebx+ord($s[$p+0])+(ord($s[$p+1]) << 8)+(ord($s[$p+2]) << 16)+(ord($s[$p+3]) << 24)-$edi-$esi)^shr($esi,13)); $edi=unsign(($edi-$esi-$edx)^($edx << 8)); $esi=unsign(($esi-$edx-$edi)^shr($edi,13)); $edx=unsign(($edx-$edi-$esi)^shr($esi,12)); $edi=unsign(($edi-$esi-$edx)^($edx << 16)); $esi=unsign(($esi-$edx-$edi)^shr($edi,5)); $edx=unsign(($edx-$edi-$esi)^shr($esi,3)); $ebx=$edx; $edi=unsign(($edi-$esi-$ebx)^($ebx << 10)); $esi=unsign(($esi-$ebx-$edi)^shr($edi,15)); $v4-=12; $p+=12; } $esi=unsign($esi+$len); if ($v4>=11) $esi=unsign($esi+(ord($s[$p+10]) << 24)); if ($v4>=10) $esi=unsign($esi+(ord($s[$p+9]) << 16)); if ($v4>=9) $esi=unsign($esi+(ord($s[$p+8]) << 8)); if ($v4>=8) $edi=unsign($edi+ord($s[$p+4])+(ord($s[$p+5]) << 8)+(ord($s[$p+6]) << 16)+(ord($s[$p+7]) << 24)); else { if ($v4>=7) $edi=unsign($edi+(ord($s[$p+6]) << 16)); if ($v4>=6) $edi=unsign($edi+(ord($s[$p+5]) << 8)); if ($v4>=5) $edi=unsign($edi+ord($s[$p+4])); } if ($v4>=4) $ebx=unsign($ebx+ord($s[$p+0])+(ord($s[$p+1]) << 8)+(ord($s[$p+2]) << 16)+(ord($s[$p+3]) << 24)); else { if ($v4>=3) $ebx=unsign($ebx+(ord($s[$p+2]) << 16)); if ($v4>=2) $ebx=unsign($ebx+(ord($s[$p+1]) << 8)); if ($v4>=1) $ebx=unsign($ebx+ord($s[$p+0])); } $ebx=unsign(($ebx-$edi-$esi)^shr($esi,13)); $edi=unsign(($edi-$esi-$ebx)^($ebx << 8)); $esi=unsign(($esi-$ebx-$edi)^shr($edi,13)); $ebx=unsign(($ebx-$edi-$esi)^shr($esi,12)); $edi=unsign(($edi-$esi-$ebx)^($ebx << 16)); $esi=unsign(($esi-$ebx-$edi)^shr($edi,5)); $ebx=unsign(($ebx-$edi-$esi)^shr($esi,3)); $edi=unsign(($edi-$esi-$ebx)^($ebx << 10)); $esi=unsign(($esi-$ebx-$edi)^shr($edi,15)); return $esi; } function shr($x,$y) { $x=unsign($x); for($i=0;$i<$y;$i++) $x=floor($x/2); return $x; } function unsign($l) { $l=intval($l); if ($l>=0){ return $l; }else{ return 4294967296+$l; } } //Выдаем сам ранк echo $pr; Просто пока не разобрался в нём.
Такс, начну издалека. Основа слова ipspell. Таблица словоформами содержит одно поле, где все словоформы. Ну и сам код: PHP: if(@$mas = mysql_fetch_row($result0)) { $mas[0] = trim($mas[0]); $mas[0] = preg_replace("/[ ]{2,}/", "", $mas[0]); $word[$harver] = spliti("[ ]{1,}", $mas[0]); if($how_search == "onepage") { if($where) { $where = $where . " and " . "(MATCH (adress_site, title, decription_site) AGAINST ('" . $mas[0] . "' IN BOOLEAN MODE)) and (vote_site > 499)"; $schet = 1; } else $where = "(MATCH (adress_site, title, decription_site) AGAINST ('" . $mas[0] . "' IN BOOLEAN MODE)) and (vote_site > 499)"; } if($word_searching) $word_searching = $word_searching . " " . $mas[0]; else $word_searching = $mas[0]; } else { $word[$harver][0] = $sub_word; if(($word_forms == "est") or !($word_forms) and ($lengh_word > 2)) $sub_word = $sub_word . "*"; if($how_search == "onepage") { if($where) { $where = $where . " and " . "(MATCH (adress_site, title, decription_site) AGAINST ('" . $sub_word . "' IN BOOLEAN MODE))"; $schet = 1; } else $where = "(MATCH (adress_site, title, decription_site) AGAINST ('" . $sub_word . "' IN BOOLEAN MODE))"; } if($word_searching) $word_searching = $word_searching . " " . $sub_word; else $word_searching = $sub_word; } Ну я его делал давно, уже малость подзабыл, но это только один вариант, они меняются в зависимости как задано искать . А массив $word создаю, чтобы потом искать фрагменты текста, кстати тоже свой собственный скрипт
Забыл запрос: PHP: if(($word_forms == "est") or !($word_forms)) $query_word = "SELECT word FROM base_word where MATCH (word) AGAINST ('$sub_word' IN BOOLEAN MODE) LIMIT 1";
Вот статья про этот словарь : http://scon155.phys.msu.su/~swan/orthography.html, а откуда скачал вообще непомню.
У меня тоже самое для всех сайтов выдает. Но когда я об этом тут сказал меня сразу к SEO-никам приписали)) Но чем плохо работать одновременно SEO-менеджером и программистом? делаешь сайты на заказ, потом их же сам и раскручиваешь.