Определяем PageRank(PR) страницы на PHP
PageRank — один из алгоритмов ссылочного ранжирования. Алгоритм применяется к коллекции документов, связанных гиперссылками (таких, как веб-страницы из всемирной паутины), и назначает каждому из них некоторое численное значение, измеряющее его «важность» или «авторитетность» среди остальных документов. Вообще говоря, алгоритм может применяться не только к веб-страницам, но и к любому набору объектов, связанных между собой взаимными ссылками, то есть к любому графу.
Математический рейтинг вебстраницы (PageRank) для простой сети, выраженный в процентах (Google использует логарифмическую шкалу). Вебстраница C имеет более высокий рейтинг, чем страница E, хотя есть меньше ссылок на C чем на Е, но одна из ссылок на C исходит из более важных страниц и, следовательно, имеет более высокое значение. Если условно считать что веб-пользователь который находится на случайной странице имеет 85 % вероятность выбора случайной ссылки, и 15 % оставления этой страницы без всякого перехода на её ссылки, то вероятности перехода к странице E с других ссылок равна 8,1 % времени. (15 % вероятности перехода к произвольной странице соответствует коэффициенту затухания 85 %.) Без затухания, все веб-пользователи в конечном итоге попадают на страницы A, B или С, и все остальные страницы будет иметь PageRank нуля. При наличии затухания, страница А эффективно связывает почти все ссылки на страницы в этой Сети, даже если она не имеет своих собственных исходящих ссылок.
PageRank — это числовая величина, характеризующая «важность» веб-страницы. Чем больше ссылок на страницу, тем она «важнее». Кроме того, «вес» страницы А определяется весом ссылки, передаваемой страницей B. Таким образом, PageRank — это метод вычисления веса страницы путём подсчёта важности ссылок на неё.
Скульптурирование PageRank (англ. PageRank sculpting) — манипулирование количеством PageRank, передаваемого через конкретные ссылки страницей N другим страницам с помощью присвоения одной или нескольким ссылкам, идущим с этой страницы, атрибута nofollow, что приводит к удержанию большего PageRank («веса») на странице N с целью дальнейшей его передачи нужным страницам. В 2009 году Мэтт Каттс заявил, что скульптурирование PageRank больше не работает, т.к. теперь постановка любых ссылок (как с атрибутом nofollow, так и без него) приводит к равномерному распределению передаваемого PageRank («веса») между исходящими ссылками.
Пример:
Не актуально! Для истории пусть будет!
Математический рейтинг вебстраницы (PageRank) для простой сети, выраженный в процентах (Google использует логарифмическую шкалу). Вебстраница C имеет более высокий рейтинг, чем страница E, хотя есть меньше ссылок на C чем на Е, но одна из ссылок на C исходит из более важных страниц и, следовательно, имеет более высокое значение. Если условно считать что веб-пользователь который находится на случайной странице имеет 85 % вероятность выбора случайной ссылки, и 15 % оставления этой страницы без всякого перехода на её ссылки, то вероятности перехода к странице E с других ссылок равна 8,1 % времени. (15 % вероятности перехода к произвольной странице соответствует коэффициенту затухания 85 %.) Без затухания, все веб-пользователи в конечном итоге попадают на страницы A, B или С, и все остальные страницы будет иметь PageRank нуля. При наличии затухания, страница А эффективно связывает почти все ссылки на страницы в этой Сети, даже если она не имеет своих собственных исходящих ссылок.
PageRank — это числовая величина, характеризующая «важность» веб-страницы. Чем больше ссылок на страницу, тем она «важнее». Кроме того, «вес» страницы А определяется весом ссылки, передаваемой страницей B. Таким образом, PageRank — это метод вычисления веса страницы путём подсчёта важности ссылок на неё.
Скульптурирование PageRank (англ. PageRank sculpting) — манипулирование количеством PageRank, передаваемого через конкретные ссылки страницей N другим страницам с помощью присвоения одной или нескольким ссылкам, идущим с этой страницы, атрибута nofollow, что приводит к удержанию большего PageRank («веса») на странице N с целью дальнейшей его передачи нужным страницам. В 2009 году Мэтт Каттс заявил, что скульптурирование PageRank больше не работает, т.к. теперь постановка любых ссылок (как с атрибутом nofollow, так и без него) приводит к равномерному распределению передаваемого PageRank («веса») между исходящими ссылками.
function fch($csm)
{
if($csm < 0)
$csm += 4294967296.0;
$a = (int)fmod($csm, 10);
$t = 1;
$b = (int)($csm / 10);
while($b) {
$c = $b % 10;
if($t)
$c = (int)($c / 5) + ($c * 2) % 10;
$b = (int)($b / 10);
$a += $c;
$t ^= 1;
}
$a = 10 - $a % 10;
if($a == 10)
return ord('0');
if($t)
return ord('0') + (int)(($a & 1 ? $a + 9 : $a) / 2);
return ord('0') + $a;
}
function checksum($str)
{
if(strlen($str) == 0)
return 0x1000;
/* the floating point hacks are due to PHP's bugs when handling integers */
$a = 5381.0;
for($i = 0; $i < strlen($str); $i++)
$a = fmod($a + ($a * 32) + ord($str[$i]), 4294967296.0);
if($a > 2147483647.0)
$a -= 4294967296.0;
$a = (int)$a;
$b = 0.0;
for($i = 0; $i < strlen($str); $i++)
$b = fmod(($b * 64) + ($b * 65536) - $b + ord($str[$i]), 4294967296.0);
if($b > 2147483647.0)
$b -= 4294967296.0;
$b = (int)$b;
$a = (($a >> 6) & 0x3ffffc0) | (($a >> 2) & 0x3f);
$c = (($a >> 4) & 0x3ffc00) | ($a & 0x3ff);
$d = (($c >> 4) & 0x3c000) | ($c & 0x3fff);
$c = ((($d & 0x3c0) << 4) | ($d & 0x3c)) << 2;
$a = $b & 0x0f0f;
$e = $b & 0x0f0f0000;
$b = (($d & 0xffffc000) << 4) | ($d & 0x3c00);
return ($b << 10) | $c | $a | $e;
}
function getPR($url)
{
$PR_SERVER = "http://toolbarqueries.google.com/tbr?client=navclient-auto&features=Rank&q=info:";
$csm = checksum($url);
$result = file_get_contents(sprintf($PR_SERVER."%s&ch=7%c%u", $url, fch($csm), $csm));
$result = str_replace('Rank_1:1:', '',$result);
if (empty($result))
return 0;
else
return $result;
}
Пример:
echo $result = getPR('http://abcvg.com/');
Не актуально! Для истории пусть будет!
9.02.2015, 22:08 -
Категория: Статьи » Программирование » PHP