Скрипты проверки pr и тиц

Seo-ru
На сайте с 07.03.2007
Offline
65
1034

Помогите найти бесплатный скрипт для определения тиц и pr

можно что б и другие функции были

Видел много но что бы pr и тиц были вместе не нашол..

Нучно что бы было поле ввода адреса сайта

Помогите, дайте ссылочку

Пусть в Новом Году исполнятся все Ваши мечты!
maximuz
На сайте с 13.11.2006
Offline
35
#1

  <form action="" method="get">

<input name="url" size="35" class="bbcodes" value="http://">
<input name="submit" type="submit" class="bbcodes" value="Проверить">
</form>

<?php

//header("Content-Type: text/plain; charset=utf-8");
define('GOOGLE_MAGIC', 0xE6359A60);

//unsigned shift right
function zeroFill($a, $b)
{
$z = hexdec(80000000);
if ($z & $a)
{
$a = ($a>>1);
$a &= (~$z);
$a |= 0x40000000;
$a = ($a>>($b-1));
}
else
{
$a = ($a>>$b);
}
return $a;
}

function mix($a,$b,$c) {
$a -= $b; $a -= $c; $a ^= (zeroFill($c,13));
$b -= $c; $b -= $a; $b ^= ($a<<8);
$c -= $a; $c -= $b; $c ^= (zeroFill($b,13));
$a -= $b; $a -= $c; $a ^= (zeroFill($c,12));
$b -= $c; $b -= $a; $b ^= ($a<<16);
$c -= $a; $c -= $b; $c ^= (zeroFill($b,5));
$a -= $b; $a -= $c; $a ^= (zeroFill($c,3));
$b -= $c; $b -= $a; $b ^= ($a<<10);
$c -= $a; $c -= $b; $c ^= (zeroFill($b,15));

return array($a,$b,$c);
}

function GoogleCH($url, $length=null, $init=GOOGLE_MAGIC) {
if(is_null($length)) {
$length = sizeof($url);
}
$a = $b = 0x9E3779B9;
$c = $init;
$k = 0;
$len = $length;
while($len >= 12) {
$a += ($url[$k+0] +($url[$k+1]<<8) +($url[$k+2]<<16) +($url[$k+3]<<24));
$b += ($url[$k+4] +($url[$k+5]<<8) +($url[$k+6]<<16) +($url[$k+7]<<24));
$c += ($url[$k+8] +($url[$k+9]<<8) +($url[$k+10]<<16)+($url[$k+11]<<24));
$mix = mix($a,$b,$c);
$a = $mix[0]; $b = $mix[1]; $c = $mix[2];
$k += 12;
$len -= 12;
}

$c += $length;
switch($len) /* all the case statements fall through */
{
case 11: $c+=($url[$k+10]<<24);
case 10: $c+=($url[$k+9]<<16);
case 9 : $c+=($url[$k+8]<<8);
/* the first byte of c is reserved for the length */
case 8 : $b+=($url[$k+7]<<24);
case 7 : $b+=($url[$k+6]<<16);
case 6 : $b+=($url[$k+5]<<8);
case 5 : $b+=($url[$k+4]);
case 4 : $a+=($url[$k+3]<<24);
case 3 : $a+=($url[$k+2]<<16);
case 2 : $a+=($url[$k+1]<<8);
case 1 : $a+=($url[$k+0]);
/* case 0: nothing left to add */
}
$mix = mix($a,$b,$c);
/*-------------------------------------------- report the result */
return $mix[2];
}

//converts a string into an array of integers containing the numeric value of the char
function strord($string) {
for($i=0;$i<strlen($string);$i++) {
$result[$i] = ord($string{$i});
}
return $result;
}

function getrank($url) {
$url = 'info:'.$url;
$ch = GoogleCH(strord($url));
$file = "http://www.google.com/search?client=navclient-auto&ch=6$ch&features=Rank&q=$url";
$data = file($file,"r+");
$rankarray = explode (':', $data[2]);
$rank = $rankarray[2];
return $rank;
}

// Яндекс Рулит!

function getcy($url)
{
global $stack,$db;

if (eregi('^http://',$url)) {
$url_www = $url;
$url = str_replace('','http://',$url);
} else {
$url_www = str_replace('','http://',$url);
}

$file_www = "http://bar-navig.yandex.ru/u?ver=2&lang=1049&url=".urldecode($url_www)."&target=_No__Name:5&show=1&thc=0";
$file = "http://bar-navig.yandex.ru/u?ver=2&lang=1049&url=".urldecode($url)."&target=_No__Name:5&show=1&thc=0";
//$handle = fopen($file_www, "rb");
$handle = fopen($file_www, "r");
$contents = '';
while (!feof($handle)) {
$contents.= fread($handle, 8192);
}
fclose($handle);
$dom = domxml_open_mem($contents);
$root = $dom->document_element();
$root_child = $root->child_nodes();
for ($i = 0; $i < sizeof($root_child); $i++) {
if ($root_child[$i]->node_name()=='tcy') {
$cy_www = $root_child[$i]->get_attribute('value');
}
}
sleep(1);
// $handle = fopen($file_www, "rb");
$handle = fopen($file_www, "r");
$contents = '';
while (!feof($handle)) {
$contents.= fread($handle, 8192);
}
fclose($handle);
$dom = domxml_open_mem($contents);
$root = $dom->document_element();
$root_child = $root->child_nodes();
for ($i = 0; $i < sizeof($root_child); $i++) {
if ($root_child[$i]->node_name()=='tcy') {
$cy = $root_child[$i]->get_attribute('value');
}
}
if ($cy>$cy_www) {
return intval($cy);
} else {
return intval($cy_www);
}
}

echo '<b>PageRank:</b> '.getrank($_REQUEST["url"]).' / 10<br />';
echo '<b>тИЦ:</b> '.getcy($_REQUEST['url']).'';
?>

кушайте ;)

Seo-ru
На сайте с 07.03.2007
Offline
65
#2

Http://web-avangard.net/pe.php

не работает

maximuz
На сайте с 13.11.2006
Offline
35
#3

У вас нету библиотеки: domxml_open_mem() - для обработки XML

Seo-ru
На сайте с 07.03.2007
Offline
65
#4

и что делать?

iBBi
На сайте с 13.02.2007
Offline
328
#5
Seo-ru:
и что делать?

Попрость хостера установить

Купить вдс

A
На сайте с 12.04.2007
Offline
9
#6

В принципе тот код можно переписать и без той библиотеки, а можно тиц проверять чуть медленнее, но без xml:


function YandexCY($url)
{
$newurl = str_replace("http://","",$url);
$newurl=strtolower($newurl);
$pcy = "http://search.yaca.yandex.ru/yca/cy/ch/".$newurl."/";
$ind=file_open($pcy);
$pos = strpos($ind,"http://".$newurl);
$end=strlen($ind);
$kusok =substr($ind,$pos);
$pos=strpos($kusok,"Кто ссылается");
$kusok=substr($kusok,$pos);
ereg('[[:digit:]]+</a>',$kusok,$res);
if(isset($res[0])){
$cy = str_replace("</a>","",$res[0]);
}else{
$cy = 0;
}
return (int)$cy;
}
seo.adman.com: покупка/продажа ссылок, рекламный брокер (http://seo.adman.com) vads.adman.com: свой рекламный брокер за 5 минут (http://vads.adman.com)
L
На сайте с 24.02.2005
Offline
181
#7

Или при помощи регулярок:


$pattern = "http://bar-navig.yandex.ru/u?ver=2&show=32&url=http://";
$url = trim($page, '/') . '/';
$url = str_replace('http://', '', $page);
$txt = file_get_contents($pattern.$url);

preg_match('|<tcy rang="\d*" value="(.*)"/>|', $txt, $out);
$tic = (int) $out[1];

$rubr = 'Отсутсвует';
if (preg_match_all('|<topic title="(.*)" url="(.*)"/>|U', $txt, $out)) {
$rubr = preg_replace('/Тема: /i', '', implode(', ', $out[1]));
}
$params=array("tic"=>$tic,"rubr"=>$rubr);

А вообще код определения PR не совсем точен. На 64 битных процах он не будет работать, поскольку там CHeckSum неправильно считается, а правильный выглядит так:


<?

define('GOOGLE_MAGIC', 0xE6359A60);

function nooverflow($a) {
while ($a<-2147483648)
$a+=2147483648+2147483648;
while ($a>2147483647)
$a-=2147483648+2147483648;
return $a;
}

function zeroFill ($x, $bits) {
if ($bits==0) return $x;
if ($bits==32) return 0;
$y = ($x & 0x7FFFFFFF) >> $bits;
if (0x80000000 & $x) {
$y |= (1<<(31-$bits));
}
return $y;
}

function mix($a,$b,$c) {
$a=(int)$a; $b=(int)$b; $c=(int)$c;
$a -= $b; $a -= $c; $a=nooverflow($a); $a ^= (zeroFill($c,13));
$b -= $c; $b -= $a; $b=nooverflow($b); $b ^= ($a<<8);
$c -= $a; $c -= $b; $c=nooverflow($c); $c ^= (zeroFill($b,13));
$a -= $b; $a -= $c; $a=nooverflow($a); $a ^= (zeroFill($c,12));
$b -= $c; $b -= $a; $b=nooverflow($b); $b ^= ($a<<16);
$c -= $a; $c -= $b; $c=nooverflow($c); $c ^= (zeroFill($b,5));
$a -= $b; $a -= $c; $a=nooverflow($a); $a ^= (zeroFill($c,3));
$b -= $c; $b -= $a; $b=nooverflow($b); $b ^= ($a<<10);
$c -= $a; $c -= $b; $c=nooverflow($c); $c ^= (zeroFill($b,15));

return array($a,$b,$c);
}

function GoogleCH($url, $length=null, $init=GOOGLE_MAGIC){
if(is_null($length)){
$length = sizeof($url);
}
$a = $b = 0x9E3779B9;
$c = $init;
$k = 0;
$len = $length;
while($len >= 12){
$a += ($url[$k+0] +($url[$k+1]<<8) +($url[$k+2]<<16) +($url[$k+3]<<24));
$b += ($url[$k+4] +($url[$k+5]<<8) +($url[$k+6]<<16) +($url[$k+7]<<24));
$c += ($url[$k+8] +($url[$k+9]<<8) +($url[$k+10]<<16)+($url[$k+11]<<24));
$mix = mix($a,$b,$c);
$a = $mix[0]; $b = $mix[1]; $c = $mix[2];
$k += 12;
$len -= 12;
}
$c += $length;
switch($len){
case 11: $c+=($url[$k+10]<<24);
case 10: $c+=($url[$k+9]<<16);
case 9 : $c+=($url[$k+8]<<8);
case 8 : $b+=($url[$k+7]<<24);
case 7 : $b+=($url[$k+6]<<16);
case 6 : $b+=($url[$k+5]<<8);
case 5 : $b+=($url[$k+4]);
case 4 : $a+=($url[$k+3]<<24);
case 3 : $a+=($url[$k+2]<<16);
case 2 : $a+=($url[$k+1]<<8);
case 1 : $a+=($url[$k+0]);
}
$mix = mix($a,$b,$c);
return $mix[2];
}

function strord($string){
for($i=0;$i<strlen($string);$i++){
$result[$i] = ord($string{$i});
}
return $result;
}

function get_pr($url){
global $googleDomains;
$url="info:".$url;
$checksum=GoogleCH(strord($url));
$google_url=sprintf("http://".$googleDomains[mt_rand(0,count($googleDomains)-1)]."/search?client=navclient-auto&ch=6%u&features=Rank&q=".$url,$checksum);
$p=explode(":",file_get_contents($google_url));
if(isset($p[2])) {
$result[1]=$p[2];
}
return $result[1];
}

Flint
На сайте с 25.12.2002
Offline
98
#8

maximuz, 403 ошибку не обходит...

С уважением, Копылов Кирилл | ICQ - 505-982 | Тел. +7 (8412) 25-22-00

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