У кого есть скрипт рабочий определения pr?

12
[Удален]
1354

Поискал на серче и в яндексе, нашел несколько скриптов для определения pr. Самый свежий из них создан в марте 2008 года. Но как он, так и другие написанные по подобному алгоритму скрипты на данный запрос:

file(http://www.google.com/search?client=navclient-auto&ch=6-220635707&ie=UTF-8&oe=UTF-8&features=Rank&q=info:zhilinsky.ru)

возвращает Warning: failed to open stream: HTTP request failed! HTTP/1.0 403 Forbidden in...

Ну а если попробовать подобный запрос ввести в Google, то он выдает:

403: Forbidden

Your client does not have permission to get URL /search?client=navclient-auto&ch=6-220635707&ie=UTF-8&oe=UTF-8&features=Rank&q=info:zhilinsky.ru from this server. (Client IP address: 95.134.175.215)...

это я пробовал как со своего айпишника, так и через несколько прокси.

В общем, вопрос такой - где взять рабочий алгоритм определения pr?

I
На сайте с 21.02.2008
Offline
117
#1

Модуль PageRank для perl.

[Удален]
#2

думаю что сесть, разобрать ява скрипт хеширование ссылки от плагина к файрфоксу не сложно за вечер, наймите кого нить, может осилят) и выложите чтобы все пользовались :)

DyaDya
На сайте с 11.04.2007
Offline
147
#3

Такая проблема похоже только с жилинским :)

Вот, проверяю по надыбленным ранее скриптам: http://vashmaster.ru/files/top40/indexPR.php

Запрос 1: http://www.google.com/search?client=navclient-auto&ch=6645161294&features=Rank&q=info:vashmaster.ru

Запрос 2: http://www.google.com/search?client=navclient-auto&ch=61904436467&features=Rank&q=info:rbc.ru

Запрос 3: http://www.google.com/search?client=navclient-auto&ch=6-220635707&features=Rank&q=info:zhilinsky.ru (выдаёт 403)

У других сайтов нормульно, а жилинский чудит. Почему-то параметр ch при подготовке получается равным 6-220635707, хрен знает, правильно ли это?! Похоже, что проблема как раз в нём.

Например, если подправить в ручную у другой проверки:

http://www.google.com/search?client=navclient-auto&ch=6-45161294&features=Rank&q=info:vashmaster.ru

то аналогичный 403 ответ от гуги вылазит

Нужно найти правильную функцию вычисления параметра ch для сайта zhilinsky.ru

Например, здесь правильно вычисляют PR сайтов:

http://www.pr-cy.ru/analysis/vashmaster.ru PR=3

и, конечно, жилинский - http://www.pr-cy.ru/analysis/zhilinsky.ru PR=4

Значит, корректная функция хеширования есть.

Выбирайте качественный хостинг (http://vashmaster.ru/informaciya/o_poleznyh_programmah/news83.php) и продвигайте сайты в СЕОПУЛЬТ (http://seopult.ru/ref.php?ref=72b5ed9561fe66a1). А на «SAPE» я в обиде :) Не упрекайте за очепятки, пишу вслепую (http://ergosolo.ru/) и также делаю сайты (http://www.vashmaster.ru/) ;)
Malcolm
На сайте с 02.05.2007
Offline
119
#4

Возьмите скрипт с сайта Жилинского и исправьте одну функцию. Там переполнение идет, в остальном он рабочий.

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));

if ($c < 0) $c += 0x100000000;
return array($a,$b,$c);
}
[Удален]
#5

предполагаю что битовые операции из пхп страдают .... сталкивался с этим, они ведут себя как арфифметические, а не битовые увы :(

деархиватор криптованных архивов писал и обломался, пришлось на си лепить)

пхп - гумно со своими багами увы :(

[Удален]
#6

общую суть я понял, но появилось несколько вопрос - зачем вообще Google хеширует url?

Malcolm:
Возьмите скрипт с сайта Жилинского и исправьте одну функцию. Там переполнение идет, в остальном он рабочий.

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));

if ($c < 0) $c += 0x100000000;
return array($a,$b,$c);
}
[Удален]
#7
plamar:
общую суть я понял, но появилось несколько вопрос - зачем вообще Google хеширует url?

чтобы дети не атаковали сервера

Malcolm
На сайте с 02.05.2007
Offline
119
#8

Больше всего похоже на дополнительный индекс в хранилище данных. По хэшу искать значение быстрее, чем по строке URL.

Для кэша страниц в гугле применяется такой же подход - можно кэш получить запросом

http://209.85.135.132/search?q=cache:www.ya.ru
но в выдаче гугля все ссылки идут с хэш-кодом
http://209.85.135.132/search?q=cache:G_ZsJfrGuXoJ:www.ya.ru
[Удален]
#9

Malcolm, то есть вы хотите сказать что поддерживать клиентский код проще/гибче/интереснее? ведь передаются оба параметра - хеш и не хеш, зная алгоритм, применить хеш функию на стороне сервара в десятки миллионов раз логичнее, чем обновлять сторонний софт. это дополнительные грабли для всяких скриптов пр.

Malcolm
На сайте с 02.05.2007
Offline
119
#10

Гуглю нет никакого дела до сторонних скриптов, единственный клиентский скрипт, который они поддерживают - их собственный тулбар, из которого функцию расчета хэш-кода умельцы портировали на другие языки. Просто как-то не логично рассчитывать этот хэш на стороне клиента исключительно для усложнения алгоритма.

12

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