1. Задавайте здесь вопросы о коде, которые не подходят в другие разделы, такие как:
    Дизайн > Верстка
    PHP > Как сделать на PHP
    Скрыть объявление

Скрипт для извлечения Pagerank

Тема в разделе "Web Coding", создана пользователем sarmatik2006, 2 сен 2006.

Статус темы:
Закрыта.
Модераторы: latteo
  1. sarmatik2006

    sarmatik2006 Создатель

    Регистр.:
    26 авг 2006
    Сообщения:
    38
    Симпатии:
    21
    Для использования нужно:

    1. Скопировать & вставить этот код в plain text file.
    2. Загрузить на Ваш серверв папку cgi-bin в ascii mode, (не binary).
    3. Изменить разрешения на 755
    2. поместить также в cgi-bin plain text file с названием 'sites.txt' который содержит список УРЛ, который вы хотели б проверить.

    #!/usr/bin/perl -w
    use strict;
    use warnings;
    use Getopt::Std;
    use File::Basename;
    use WWW::Google::pageRank;
    my $pr = WWW::Google::pageRank->new;
    print "Content-type: text/html\n\n";

    my %opts;
    getopts('uhsd:', \%opts);
    my $urlfile = 'sites.txt';
    &usage if ($opts{'u'} || $opts{'h'});
    die "Please supply a file containing URLs\n" unless $urlfile;
    die "No file found at '$urlfile'!\n" unless -e $urlfile;
    my $urls = get_urls($urlfile);

    if ($opts{'s'}) {}
    foreach my $url (sort keys %$urls) {
    if ($opts{'d'}) {
    print "${url}$opts{'d'}" . $pr->get($url), "\n";
    } else {
    print "${url} " . $pr->get($url), "<br>\n";
    }
    }
    sub get_urls {
    my $urlfile = shift;
    my %urls;

    open(URLS, "<$urlfile")
    || die "Failed to open '$urlfile': $!";
    while(<URLS>) {
    my $url;
    chomp;
    next if /^#/;
    next if /^\s*$/;
    s/\s*(\S*)?\s*/$1/;
    $url = $1;
    unless($url =~ '^http://') {
    $url = 'http://' . $url;
    }
    $urls{$url} = 0;
    }
    close URLS;
    return \%urls;
    }
     
    Andrey и vikolon нравится это.
  2. zeta

    zeta Постоялец

    Регистр.:
    26 сен 2006
    Сообщения:
    110
    Симпатии:
    8
    вот бы такое да на PHP
     
    Andrey нравится это.
  3. GoNZo

    GoNZo Прохожие

    php
    PHP:
       <?php  
    function showform()  
    {  
    echo 
    "<br/><br/><center/><form action=pr.php method=GET>";  
    echo 
    "Адрес:<br/>";  
    echo 
    "<input type=text name=url size=50><br/>";  
    echo 
    "<input type=submit> demo: <b>domenforum.net</b>";  
    echo 
    "</form>";  
    }  
    if (isset(
    $_REQUEST['url']))  
    {  
    $url=str_replace("www.","",$_REQUEST['url']);  
    define('GOOGLE_MAGIC'0xE6359A60);  
    function 
    getCI($url)  
    {  
    $my_host parse_url($url);  
    $cit_index_url "http://search.yaca.yandex.ru/yca/cy/ch/www.{$my_host['path']}/";  
    $data file_get_contents($cit_index_url);  
    $upurl str_replace('.''\.'$url);  
    $upurl str_replace('/''\/'$upurl);  
    $reurl[1] = (strpos($url'www') == 0)?'http:\/\/www\.':'http:\/\/';  
    $reurl[1] .= $upurl;  
    $reurl[2] = (strpos($url'www') == 0)?'http:\/\/':'http:\/\/www\.';  
    $reurl[2] .= $upurl;  
    $reurl[3] = (strpos($url'www') == 0)?'www\.'.$upurl:$upurl;  
    $reurl[4] = (strpos($url'www') == 0)?$upurl:'www\.'.$upurl;  
    $reg_www "/<a href=\"(http:\/\/www\.yandex\.ru\/yandsearch\/\?text=&Link={$reurl[1]}.+?&iserverurl={$reurl[3]}.+?)\".+?>.+?<\/a>/si";  
    $reg "/<a href=\"(http:\/\/www\.yandex\.ru\/yandsearch\/\?text=&Link={$reurl[2]}.+?&iserverurl={$reurl[4]}.+?)\".+?>.+?<\/a>/si";  
    if(
    preg_match_all($reg_www$data$pockets))  
    {  
    $to_parse $pockets[1][0];  
    }  
    if(
    preg_match_all($reg$data$pockets))  
    {  
    $to_parse $pockets[1][0];  
    }  
    $my parse_url($to_parse);  
    $my parse_str($my['query'], $out);  
    return 
    $out['ci'];  
    }  
    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)                
    {  
    case 
    11$c+=($url[$k+10]<<24);  
    case 
    10$c+=($url[$k+9]<<16);  
    case 
    $c+=($url[$k+8]<<8);  
      
    case 
    $b+=($url[$k+7]<<24);  
    case 
    $b+=($url[$k+6]<<16);  
    case 
    $b+=($url[$k+5]<<8);  
    case 
    $b+=($url[$k+4]);  
    case 
    $a+=($url[$k+3]<<24);  
    case 
    $a+=($url[$k+2]<<16);  
    case 
    $a+=($url[$k+1]<<8);  
    case 
    $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 
    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);  
    $rankarray explode (':'$data[2]);  
    $rank $rankarray[2];  
    return 
    $rank;  
    }  
    $rank=getrank($url);  
    $rank1=getrank("www".$url);  
    if (
    $rank1>$rank$url="www.".$url;  
    echo 
    '<center>PageRank: '.getrank($url)."<br>";  
    echo 
    'тИЦ: '.getCI($url);  
    echo 
    "<br/>";  
    showform();  
    }  
    else  
    {  
    showform();  
    }  
    ?>    
     
  4. sv77

    sv77 Прохожие

    А тут есть все ))) и ТИЦ и PR
     

    Вложения:

    • seomozg.rar
      Размер файла:
      37,8 КБ
      Просмотров:
      20
  5. delpher

    delpher Постоялец

    Регистр.:
    9 окт 2006
    Сообщения:
    89
    Симпатии:
    10

    при открытии страницы выдает
    Parse error: syntax error, unexpected T_STRING in /usr/home/domains/.ru/public_html/index.php on line 3
     
  6. GoNZo

    GoNZo Прохожие

    action=pr.php значит наверное и имя файла должно быть таким же, или переименнуй в строке имя файла на свой, у меня работает все норм
     
  7. jhst

    jhst Постоялец

    Регистр.:
    16 окт 2006
    Сообщения:
    78
    Симпатии:
    18
    Скрипт тИЦ определяет, а PR нет. Проверь еще раз у себя, плиз..
     
  8. idmark

    idmark Прохожие

    Тож не работал. Поставил через проксю, начало вроде чекать
     
  9. stOkoN

    stOkoN Постоялец

    Регистр.:
    10 май 2006
    Сообщения:
    89
    Симпатии:
    20
    Поправил, теперь показывает и PR и тИЦ
     
  10. tommy

    tommy Постоялец

    Регистр.:
    7 авг 2006
    Сообщения:
    74
    Симпатии:
    12
    последний скрипт - неправильно тиц определяет (но не всегда), pr - всегда =1
     
Статус темы:
Закрыта.