PHP Php ile网站BilgilerininAlınması(YusufKOÇ)
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PHP Php ile网站BilgilerininAlınması(YusufKOÇ)相关的知识,希望对你有一定的参考价值。
< ?php
/**
* Betik Yazarı: Yusuf KOÇ ( Raiden )
* http://www.ysfkc.com
*
* Copyright 2009 ysfkc.com
* Licensed under the GNU General Public License, version 2.
* See the file http://www.gnu.org/licenses/old-licenses/gpl-2.0.txt
*
**/
# Read Site
# @access private
# -------------
function getData($site)
{
$ch = curl_init();
curl_setopt($ch,CURLOPT_URL, $site);
curl_setopt($ch,CURLOPT_USERAGENT, 'Mozilla/5.0 (X11; U; Linux i686; tr-TR; rv:1.9.0.3) Gecko/2008092818 Pardus/2008 Firefox/3.0.4');
curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
$return = curl_exec($ch);
curl_exec($ch);
return $return;
}
# Google PageRank
# @access private
# ---------------------
function _StrToNum($Str, $Check, $Magic)
{
$Int32Unit = 4294967296; // 2^32
$length = strlen($Str);
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 >= $Int32Unit) {
$Check = ($Check - $Int32Unit * (int) ($Check / $Int32Unit));
//if the check less than -2^31
$Check = ($Check < -2147483648) ? ($Check + $Int32Unit) : $Check;
}
$Check += ord($Str{$i});
}
return $Check;
}
# Google PageRank
# @access private
# ---------------------
function _HashURL($String)
{
$Check1 = _StrToNum($String, 0x1505, 0x21);
$Check2 = _StrToNum($String, 0, 0x1003F);
$Check1 >>= 2;
$Check1 = (($Check1 >> 4) & 0x3FFFFC0 ) | ($Check1 & 0x3F);
$Check1 = (($Check1 >> 4) & 0x3FFC00 ) | ($Check1 & 0x3FF);
$Check1 = (($Check1 >> 4) & 0x3C000 ) | ($Check1 & 0x3FFF);
$T1 = (((($Check1 & 0x3C0) < < 4) | ($Check1 & 0x3C)) << 2) | ($Check2 & 0xF0F );
$T2 = (((($Check1 & 0xFFFFC000) << 4) | ($Check1 & 0x3C00)) << 0xA) | ($Check2 & 0xF0F0000 );
return ($T1 | $T2);
}
# Google PageRank
# @access private
# ---------------------
function _CheckHash($Hashnum) {
$CheckByte = 0;
$Flag = 0;
$HashStr = sprintf('%u', $Hashnum) ;
$length = strlen($HashStr);
for ($i = $length - 1; $i >= 0; $i --) {
$Re = $HashStr{$i};
if (1 === ($Flag % 2)) {
$Re += $Re;
$Re = (int)($Re / 10) + ($Re % 10);
}
$CheckByte += $Re;
$Flag ++;
}
$CheckByte %= 10;
if (0 !== $CheckByte) {
$CheckByte = 10 - $CheckByte;
if (1 === ($Flag % 2) ) {
if (1 === ($CheckByte % 2)) {
$CheckByte += 9;
}
$CheckByte >>= 1;
}
}
return '7'.$CheckByte.$HashStr;
}
# Google PageRank
# @access private
# --------------------
function _googlePr($site)
{
$hash = _CheckHash(_HashURL($site));
$url = "http://toolbarqueries.google.com/search?client=navclient-auto&hl=en&ch=".$hash."&ie=UTF-8&oe=UTF-8&features=Rank&q=info:".$site;
$return = getData($url);
echo preg_replace('/Rank_1:.:/','',$return);
}
# Google Backlink
# @access private
# --------------------
function _googleBacklink($site)
{
$url = "http://www.google.com.tr/search?hl=tr&q=link:".$site;
$return = getData($url);
preg_match("#.*?<b>(\d*)< \/b>#sim",$return,$result);
if ($result[1] == null)
{
echo 'Yok';
}
else
{
echo $result[1];
}
}
# Google Index
# @access private
# ------------------
function _googleIndex($site)
{
$url = "http://www.google.com.tr/search?hl=tr&q=site:".$site;
$return = getData($url);
preg_match("#.*?(yakla.*?</b><b>(.*?)< \/b>|aramas.*?</b><b>(.*?)< \/b>).*?#",$return,$result);
echo $result[3];
}
# Dmoz Result
# @access private
# --------------------
function _dmoz($site)
{
$url = 'http://search.dmoz.org/cgi-bin/search?search='.str_replace('http://www.','',$site);
$return = getData($url);
preg_match("#.*?<center>(.*).*<b>.*?#",$return,$result);
if (rtrim($result[1]) == 'No')
{
echo 'Yok';
}
else
{
echo 'Var';
}
}
# Alexa Rank
# @access private
# -----------------------
function _alexa($url)
{
$url = 'http://data.alexa.com/data?cli=10&dat=snbamz&url='.str_replace('http://','',$url);
$alexa = new SimpleXMLElement($url,NULL,TRUE);
echo number_format($alexa->SD->POPULARITY['TEXT']);
}
# Genel Fonksiyon
# @access public
# ------------------
function sonucAl($istek,$url)
{
switch ($istek)
{
case 'googleP': _googlePr($url); break;
case 'googleB': _googleBacklink($url); break;
case 'googleI': _googleIndex($url); break;
case 'alexa': _alexa($url); break;
case 'dmoz': _dmoz($url); break;
}
}
?>
/*
Betiğimizde sizin kullanacağınız tek fonksiyon sonucAl() olacaktır. Çünkü diğerleri sonucAl() içinden çağrılmaktadır. Sonuc Fonksiyonumuz ise beş farklı parametre almaktadır.
Bunlar;
* googleP: Google pagerank değeri öğrenilmek istendiğinde kullanılır
* googleB: Google backlink değeri öğrenilmek istendiğinde kullanılır
* googleI: Google index değeri öğrenilmek istendiğinde kullanılır
* alexa: Alexa rank değeri öğrenilmek istendiğinde kullanılır
* dmoz: Dmoz kaydı öğrenilmek istendiğinde kullanılır
*/
// Şimdi bir örnekle sonlandıralım.
< ?php
# Fonksiyon dosyamızı çağırıyoruz
include_once('functions.php');
# Sonuc Fonksiyonumuzu çağırıyoruz.
sonucAl('googleP','http://www.ysfkc.com');
?>
以上是关于PHP Php ile网站BilgilerininAlınması(YusufKOÇ)的主要内容,如果未能解决你的问题,请参考以下文章