{"id":1240,"date":"2011-06-06T07:19:32","date_gmt":"2011-06-05T22:19:32","guid":{"rendered":"http:\/\/www.2hmc.com\/blog\/?p=1240"},"modified":"2011-06-19T03:52:05","modified_gmt":"2011-06-18T18:52:05","slug":"pagerank","status":"publish","type":"post","link":"https:\/\/www.2hmc.com\/blog\/2011\/06\/pagerank.html","title":{"rendered":"PHP\u3067Google\u306e\u30da\u30fc\u30b8\u30e9\u30f3\u30af\u3092\u53d6\u5f97\u3059\u308b"},"content":{"rendered":"<p>\u4e45\u3005\u306e\u66f4\u65b0\u3067\u3059\u3002w<\/p>\n<p>Google\u306e\u30da\u30fc\u30b8\u30e9\u30f3\u30af\u3092\u53d6\u5f97\u3059\u308bPHP\u3067\u691c\u7d22\u3057\u305f\u3068\u3053\u308d<br \/>\n\u3042\u308b\u306b\u306f\u3042\u308b\u306e\u3067\u3059\u304c\u3001\u53e4\u3044\u3082\u306e\u3070\u304b\u308a\u3067\u8abf\u7bc0\u3057\u3066\u3082\u7d50\u5c40\u306fGoogle\u3067403\u30a8\u30e9\u30fc\u304c\u51fa\u3066\u4f7f\u3048\u306a\u3044\u3002\u3002\u3002<\/p>\n<p>\u3084\u3063\u3068\u4eca\u65e5\u73fe\u5728\u3067\u3001\u3061\u3083\u3093\u3068\u52d5\u4f5c\u3057\u30da\u30fc\u30b8\u30e9\u30f3\u30af\u304c\u53d6\u5f97\u3067\u304d\u307e\u3057\u305f\u3002<\/p>\n<p><!--more--><\/p>\n<p>\u30b5\u30f3\u30d7\u30eb\u306f\u3001\u30b7\u30f3\u30d7\u30eb\u306b\u30da\u30fc\u30b8\u30e9\u30f3\u30af\u3092\u30c6\u30ad\u30b9\u30c8\u3067\u53d6\u5f97\u3059\u308b\u306e\u307f\u3067\u3059\u3002<\/p>\n<p>\u4e0b\u8a18\u3092\u300cpagerank.php\u300d\u3068\u3057\u3066\u4fdd\u5b58\u3002<br \/>\n<code><br \/>\n&lt;?php<\/p>\n<p>\/\/PageRank&nbsp;Lookup&nbsp;v1.1&nbsp;by&nbsp;HM2K&nbsp;(update:&nbsp;31\/01\/07)<br \/>\n\/\/based&nbsp;on&nbsp;an&nbsp;alogoritham&nbsp;found&nbsp;here:&nbsp;http:\/\/pagerank.gamesaga.net\/<\/p>\n<p>\/\/settings&nbsp;-&nbsp;host&nbsp;and&nbsp;user&nbsp;agent<br \/>\nclass&nbsp;Googlepagerank{<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;var&nbsp;$googlehost='toolbarqueries.google.com';<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;var&nbsp;$googleua='Mozilla\/5.0&nbsp;(Windows;&nbsp;U;&nbsp;Windows&nbsp;NT&nbsp;5.1;&nbsp;en-US;&nbsp;rv:1.8.0.6)&nbsp;Gecko\/20060728&nbsp;Firefox\/1.5';<\/p>\n<p>&nbsp;&nbsp;&nbsp;&nbsp;\/\/convert&nbsp;a&nbsp;string&nbsp;to&nbsp;a&nbsp;32-bit&nbsp;integer<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;function&nbsp;StrToNum($Str,&nbsp;$Check,&nbsp;$Magic)&nbsp;{<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$Int32Unit&nbsp;=&nbsp;4294967296;&nbsp;&nbsp;\/\/&nbsp;2^32<\/p>\n<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$length&nbsp;=&nbsp;strlen($Str);<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for&nbsp;($i&nbsp;=&nbsp;0;&nbsp;$i&nbsp;&lt;&nbsp;$length;&nbsp;$i++)&nbsp;{<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$Check&nbsp;*=&nbsp;$Magic;&nbsp;&nbsp;&nbsp;<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\/\/If&nbsp;the&nbsp;float&nbsp;is&nbsp;beyond&nbsp;the&nbsp;boundaries&nbsp;of&nbsp;integer&nbsp;(usually&nbsp;+\/-&nbsp;2.15e+9&nbsp;=&nbsp;2^31),&nbsp;<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\/\/&nbsp;&nbsp;the&nbsp;result&nbsp;of&nbsp;converting&nbsp;to&nbsp;integer&nbsp;is&nbsp;undefined<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\/\/&nbsp;&nbsp;refer&nbsp;to&nbsp;http:\/\/www.php.net\/manual\/en\/language.types.integer.php<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;($Check&nbsp;&gt;=&nbsp;$Int32Unit)&nbsp;{<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$Check&nbsp;=&nbsp;($Check&nbsp;-&nbsp;$Int32Unit&nbsp;*&nbsp;(int)&nbsp;($Check&nbsp;\/&nbsp;$Int32Unit));<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\/\/if&nbsp;the&nbsp;check&nbsp;less&nbsp;than&nbsp;-2^31<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$Check&nbsp;=&nbsp;($Check&nbsp;&lt;&nbsp;-2147483648)&nbsp;?&nbsp;($Check&nbsp;+&nbsp;$Int32Unit)&nbsp;:&nbsp;$Check;<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$Check&nbsp;+=&nbsp;ord($Str{$i});&nbsp;<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;$Check;<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;}<\/p>\n<p>&nbsp;&nbsp;&nbsp;&nbsp;\/\/genearate&nbsp;a&nbsp;hash&nbsp;for&nbsp;a&nbsp;url<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;function&nbsp;HashURL($String)&nbsp;{<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$Check1&nbsp;=&nbsp;$this-&gt;StrToNum($String,&nbsp;0x1505,&nbsp;0x21);<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$Check2&nbsp;=&nbsp;$this-&gt;StrToNum($String,&nbsp;0,&nbsp;0x1003F);<\/p>\n<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$Check1&nbsp;&gt;&gt;=&nbsp;2;&nbsp;&nbsp;<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$Check1&nbsp;=&nbsp;(($Check1&nbsp;&gt;&gt;&nbsp;4)&nbsp;&amp;&nbsp;0x3FFFFC0&nbsp;)&nbsp;|&nbsp;($Check1&nbsp;&amp;&nbsp;0x3F);<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$Check1&nbsp;=&nbsp;(($Check1&nbsp;&gt;&gt;&nbsp;4)&nbsp;&amp;&nbsp;0x3FFC00&nbsp;)&nbsp;|&nbsp;($Check1&nbsp;&amp;&nbsp;0x3FF);<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$Check1&nbsp;=&nbsp;(($Check1&nbsp;&gt;&gt;&nbsp;4)&nbsp;&amp;&nbsp;0x3C000&nbsp;)&nbsp;|&nbsp;($Check1&nbsp;&amp;&nbsp;0x3FFF);&nbsp;<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$T1&nbsp;=&nbsp;(((($Check1&nbsp;&amp;&nbsp;0x3C0)&nbsp;&lt;&lt;&nbsp;4)&nbsp;|&nbsp;($Check1&nbsp;&amp;&nbsp;0x3C))&nbsp;&lt;&lt;2&nbsp;)&nbsp;|&nbsp;($Check2&nbsp;&amp;&nbsp;0xF0F&nbsp;);<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$T2&nbsp;=&nbsp;(((($Check1&nbsp;&amp;&nbsp;0xFFFFC000)&nbsp;&lt;&lt;&nbsp;4)&nbsp;|&nbsp;($Check1&nbsp;&amp;&nbsp;0x3C00))&nbsp;&lt;&lt;&nbsp;0xA)&nbsp;|&nbsp;($Check2&nbsp;&amp;&nbsp;0xF0F0000&nbsp;);<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;($T1&nbsp;|&nbsp;$T2);<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;}<\/p>\n<p>&nbsp;&nbsp;&nbsp;&nbsp;\/\/genearate&nbsp;a&nbsp;checksum&nbsp;for&nbsp;the&nbsp;hash&nbsp;string<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;function&nbsp;CheckHash($Hashnum)&nbsp;{<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$CheckByte&nbsp;=&nbsp;0;<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$Flag&nbsp;=&nbsp;0;<\/p>\n<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$HashStr&nbsp;=&nbsp;sprintf('%u',&nbsp;$Hashnum)&nbsp;;<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$length&nbsp;=&nbsp;strlen($HashStr);<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for&nbsp;($i&nbsp;=&nbsp;$length&nbsp;-&nbsp;1;&nbsp;&nbsp;$i&nbsp;&gt;=&nbsp;0;&nbsp;&nbsp;$i&nbsp;--)&nbsp;{<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$Re&nbsp;=&nbsp;$HashStr{$i};<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(1&nbsp;===&nbsp;($Flag&nbsp;%&nbsp;2))&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$Re&nbsp;+=&nbsp;$Re;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$Re&nbsp;=&nbsp;(int)($Re&nbsp;\/&nbsp;10)&nbsp;+&nbsp;($Re&nbsp;%&nbsp;10);<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$CheckByte&nbsp;+=&nbsp;$Re;<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$Flag&nbsp;++;&nbsp;&nbsp;&nbsp;<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<\/p>\n<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$CheckByte&nbsp;%=&nbsp;10;<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(0&nbsp;!==&nbsp;$CheckByte)&nbsp;{<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$CheckByte&nbsp;=&nbsp;10&nbsp;-&nbsp;$CheckByte;<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(1&nbsp;===&nbsp;($Flag&nbsp;%&nbsp;2)&nbsp;)&nbsp;{<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(1&nbsp;===&nbsp;($CheckByte&nbsp;%&nbsp;2))&nbsp;{<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$CheckByte&nbsp;+=&nbsp;9;<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$CheckByte&nbsp;&gt;&gt;=&nbsp;1;<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<\/p>\n<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;'7'.$CheckByte.$HashStr;<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;}<\/p>\n<p>&nbsp;&nbsp;&nbsp;&nbsp;\/\/return&nbsp;the&nbsp;pagerank&nbsp;checksum&nbsp;hash<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;function&nbsp;getch($url)&nbsp;{&nbsp;return&nbsp;$this-&gt;CheckHash($this-&gt;HashURL($url));&nbsp;}<\/p>\n<p>&nbsp;&nbsp;&nbsp;&nbsp;\/\/return&nbsp;the&nbsp;pagerank&nbsp;figure<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;function&nbsp;getpr($url)&nbsp;{<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$ch&nbsp;=&nbsp;$this-&gt;getch($url);<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$fp&nbsp;=&nbsp;fsockopen($this-&gt;googlehost,&nbsp;80,&nbsp;$errno,&nbsp;$errstr,&nbsp;30);<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;($fp)&nbsp;{<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$out&nbsp;=&nbsp;&quot;GET&nbsp;\/search?client=navclient-auto&amp;ch=$ch&amp;features=Rank&amp;q=info:$url&nbsp;HTTP\/1.1\\r\\n&quot;;<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\/\/echo&nbsp;&quot;&lt;pre&gt;$out&lt;\/pre&gt;\\n&quot;;&nbsp;\/\/debug&nbsp;only<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$out&nbsp;.=&nbsp;&quot;User-Agent:&nbsp;&quot;.$this-&gt;googleua.&quot;\\r\\n&quot;;<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$out&nbsp;.=&nbsp;&quot;Host:&nbsp;&quot;.$this-&gt;googlehost.&quot;\\r\\n&quot;;<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$out&nbsp;.=&nbsp;&quot;Connection:&nbsp;Close\\r\\n\\r\\n&quot;;<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;fwrite($fp,&nbsp;$out);<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\/\/$pagerank&nbsp;=&nbsp;substr(fgets($fp,&nbsp;128),&nbsp;4);&nbsp;\/\/debug&nbsp;only<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\/\/echo&nbsp;$pagerank;&nbsp;\/\/debug&nbsp;only<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;while&nbsp;(!feof($fp))&nbsp;{<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$data&nbsp;=&nbsp;fgets($fp,&nbsp;128);<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\/\/echo&nbsp;$data;<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$pos&nbsp;=&nbsp;strpos($data,&nbsp;&quot;Rank_&quot;);<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if($pos&nbsp;===&nbsp;false){}&nbsp;else{<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$pr=substr($data,&nbsp;$pos&nbsp;+&nbsp;9);<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$pr=trim($pr);<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$pr=str_replace(&quot;\\n&quot;,'',$pr);<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;$pr;<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\/\/else&nbsp;{&nbsp;echo&nbsp;&quot;$errstr&nbsp;($errno)&lt;br&nbsp;\/&gt;\\n&quot;;&nbsp;}&nbsp;\/\/debug&nbsp;only<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;fclose($fp);<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;}<\/p>\n<p>&nbsp;&nbsp;&nbsp;&nbsp;\/\/generate&nbsp;the&nbsp;graphical&nbsp;pagerank<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;function&nbsp;pagerank($url)&nbsp;{<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(!preg_match('\/^(http:\\\/\\\/)?([^\\\/]+)\/i',&nbsp;$url))&nbsp;{&nbsp;$url='http:\/\/'.$url;&nbsp;}<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$pr&nbsp;=&nbsp;$this-&gt;getpr($url);<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;$pr;<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;}<br \/>\n}<br \/>\n<\/code><\/p>\n<p>\u4e0a\u8a18\u3092\u30a4\u30f3\u30af\u30eb\u30fc\u30c9\u3057\u3066\u5b9f\u969b\u306b\u53d6\u5f97\u3059\u308b\u30b5\u30f3\u30d7\u30eb\u304c\u4e0b\u8a18\u300cindex.php\u300d<\/p>\n<p><code><br \/>\n&lt;?php<br \/>\ninclude(&quot;pagerank.php&quot;);<br \/>\n$url&nbsp;=&nbsp;&quot;http:\/\/www.yahoo.co.jp\/&quot;;<br \/>\n$pr&nbsp;=&nbsp;new&nbsp;Googlepagerank();<br \/>\n$pr&nbsp;=&nbsp;$pr-&gt;pagerank($url);<br \/>\necho&nbsp;$pr;<br \/>\n?&gt;<br \/>\n<\/code><\/p>\n<p>\u4e0a\u8a18\u30b5\u30f3\u30d7\u30eb\u306e<a href='http:\/\/www.2hmc.com\/cms\/wp-content\/uploads\/2011\/06\/pagerank.zip'>\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9<\/a><\/p>\n<p>\u4e0b\u8a18\u30b5\u30a4\u30c8\u3092\u53c2\u8003\u306b\u3055\u305b\u3066\u3082\u3089\u3044\u307e\u3057\u305f\u3002<br \/>\nhttp:\/\/wdwa.net\/?p=24<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u4e45\u3005\u306e\u66f4\u65b0\u3067\u3059\u3002w Google\u306e\u30da\u30fc\u30b8\u30e9\u30f3\u30af\u3092\u53d6\u5f97\u3059\u308bPHP\u3067\u691c\u7d22\u3057\u305f\u3068\u3053\u308d \u3042\u308b\u306b\u306f\u3042\u308b\u306e\u3067\u3059\u304c\u3001\u53e4\u3044\u3082\u306e\u3070\u304b\u308a\u3067\u8abf\u7bc0\u3057\u3066\u3082\u7d50\u5c40\u306fGoogle\u3067403\u30a8\u30e9\u30fc\u304c\u51fa\u3066\u4f7f\u3048\u306a\u3044\u3002\u3002\u3002 \u3084\u3063\u3068\u4eca\u65e5\u73fe\u5728\u3067\u3001\u3061\u3083\u3093\u3068\u52d5\u4f5c\u3057\u30da\u30fc\u30b8 [&hellip;]<\/p>\n","protected":false},"author":4,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[30],"tags":[],"class_list":["post-1240","post","type-post","status-publish","format-standard","hentry","category-flashphpdb"],"_links":{"self":[{"href":"https:\/\/www.2hmc.com\/blog\/wp-json\/wp\/v2\/posts\/1240","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.2hmc.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.2hmc.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.2hmc.com\/blog\/wp-json\/wp\/v2\/users\/4"}],"replies":[{"embeddable":true,"href":"https:\/\/www.2hmc.com\/blog\/wp-json\/wp\/v2\/comments?post=1240"}],"version-history":[{"count":7,"href":"https:\/\/www.2hmc.com\/blog\/wp-json\/wp\/v2\/posts\/1240\/revisions"}],"predecessor-version":[{"id":1249,"href":"https:\/\/www.2hmc.com\/blog\/wp-json\/wp\/v2\/posts\/1240\/revisions\/1249"}],"wp:attachment":[{"href":"https:\/\/www.2hmc.com\/blog\/wp-json\/wp\/v2\/media?parent=1240"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.2hmc.com\/blog\/wp-json\/wp\/v2\/categories?post=1240"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.2hmc.com\/blog\/wp-json\/wp\/v2\/tags?post=1240"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}