Проверка PageRank через XML

Я искал этот сайт и искал много, но, к сожалению, не нашел реального ответа, поэтому, пожалуйста, простите меня, если это не имеет смысла.

Я использую PHP для проверки ранжирования страницы данного URL-адреса, но иногда он показывает ошибку из-за загруженного веб-сайта google ( http://toolbarqueries.google.com ). Ошибка, которую она показывает; введите описание изображения здесь

Есть ли способ проверить ранжирование страницы через XML или даже PHP с лучшим решением, которое не обнаруживает каких-либо ошибок?

Пожалуйста помоги!

Solutions Collecting From Web of "Проверка PageRank через XML"

Я искал и нашел отличное решение. попробуй это:

class GooglePageRankChecker { // Track the instance private static $instance; // Constructor function getRank($page) { // Create the instance, if one isn't created yet if(!isset(self::$instance)) { self::$instance = new self(); } // Return the result return self::$instance->check($page); } // Convert string to a number function stringToNumber($string,$check,$magic) { $int32 = 4294967296; // 2^32 $length = strlen($string); for ($i = 0; $i < $length; $i++) { $check *= $magic; //If the float is beyond the boundaries of integer (usually +/- 2.15e+9 = 2^31), // the result of converting to integer is undefined // refer to http://www.php.net/manual/en/language.types.integer.php if($check >= $int32) { $check = ($check - $int32 * (int) ($check / $int32)); //if the check less than -2^31 $check = ($check < -($int32 / 2)) ? ($check + $int32) : $check; } $check += ord($string{$i}); } return $check; } // Create a url hash function createHash($string) { $check1 = $this->stringToNumber($string, 0x1505, 0x21); $check2 = $this->stringToNumber($string, 0, 0x1003F); $factor = 4; $halfFactor = $factor/2; $check1 >>= $halfFactor; $check1 = (($check1 >> $factor) & 0x3FFFFC0 ) | ($check1 & 0x3F); $check1 = (($check1 >> $factor) & 0x3FFC00 ) | ($check1 & 0x3FF); $check1 = (($check1 >> $factor) & 0x3C000 ) | ($check1 & 0x3FFF); $calc1 = (((($check1 & 0x3C0) << $factor) | ($check1 & 0x3C)) << $halfFactor ) | ($check2 & 0xF0F ); $calc2 = (((($check1 & 0xFFFFC000) << $factor) | ($check1 & 0x3C00)) << 0xA) | ($check2 & 0xF0F0000 ); return ($calc1 | $calc2); } // Create checksum for hash function checkHash($hashNumber) { $check = 0; $flag = 0; $hashString = sprintf('%u', $hashNumber) ; $length = strlen($hashString); for ($i = $length - 1; $i >= 0; $i --) { $r = $hashString{$i}; if(1 === ($flag % 2)) { $r += $r; $r = (int)($r / 10) + ($r % 10); } $check += $r; $flag ++; } $check %= 10; if(0 !== $check) { $check = 10 - $check; if(1 === ($flag % 2) ) { if(1 === ($check % 2)) { $check += 9; } $check >>= 1; } } return '7'.$check.$hashString; } function check($page) { // Open a socket to the toolbarqueries address, used by Google Toolbar $socket = fsockopen("toolbarqueries.google.com", 80, $errno, $errstr, 30); // If a connection can be established if($socket) { // Prep socket headers $out = "GET /tbr?client=navclient-auto&ch=".$this->checkHash($this->createHash($page)). "&features=Rank&q=info:".$page."&num=100&filter=0 HTTP/1.1\r\n"; $out .= "Host: toolbarqueries.google.com\r\n"; $out .= "User-Agent: Mozilla/4.0 (compatible; GoogleToolbar 2.0.114-big; Windows XP 5.1)\r\n"; $out .= "Connection: Close\r\n\r\n"; // Write settings to the socket fwrite($socket, $out); // When a response is received... $result = ""; while(!feof($socket)) { $data = fgets($socket, 128); $pos = strpos($data, "Rank_"); if($pos !== false){ $pagerank = substr($data, $pos + 9); $result += $pagerank; } } // Close the connection fclose($socket); // Return the rank! return $result; } } } 

Теперь, когда вы хотите проверить PR, используйте этот код $some_var = GooglePageRankChecker::getRank("http://khanqah-daruslam.com");

Замените URL на свой (или любой пользовательский URL)

Попробуйте SEOstats: https://github.com/eyecatchup/SEOstats

SEOstats – это мощная библиотека PHP с открытым исходным кодом, которая запрашивает множество релевантных для SEO показателей, таких как подробный анализ обратной ссылки, статистика ключевых слов и трафика, тенденции на веб-сайтах, полномочия на страницы, Google Pagerank, Alexa Trafficrank и многое другое.

Попробуйте SEOstats: https://github.com/eyecatchup/SEOstats

Спасибо, но я уже видел это и не хочу использовать какую-либо тяжелую библиотеку. Я хочу легкий PHP или XML-код. Спасибо, в любом случае!

На самом деле вам не нужно использовать полную библиотеку. Метод SEO PageRank SEOstats использует автономный класс, который можно использовать следующим образом:

 <?php $url = 'http://somedomain.com/'; $pr = new GTB_PageRank($url); $rank = $pr->getPageRank(); printf("The Google Pagerank of %s is %s.", $url, $rank); 

Самое приятное в этом классе, по-моему, заключается в том, что он поддерживает все существующие алгоритмы хеширования PageRank (awesome, jenkins, jenkins2 и IE) и имеет встроенные дополнительные функции, такие как предлагаемая панель инструментов TLD и многое другое.

Вы можете проверить это здесь:
https://github.com/eyecatchup/SEOstats/blob/master/SEOstats/Services/3rdparty/GTB_PageRank.php