Locker

Рейтинг
181
Регистрация
24.02.2005

А смысл искать? Моя аська вроде написана. Написали письмо и все

Или при помощи регулярок:


$pattern = "http://bar-navig.yandex.ru/u?ver=2&show=32&url=http://";
$url = trim($page, '/') . '/';
$url = str_replace('http://', '', $page);
$txt = file_get_contents($pattern.$url);

preg_match('|<tcy rang="\d*" value="(.*)"/>|', $txt, $out);
$tic = (int) $out[1];

$rubr = 'Отсутсвует';
if (preg_match_all('|<topic title="(.*)" url="(.*)"/>|U', $txt, $out)) {
$rubr = preg_replace('/Тема: /i', '', implode(', ', $out[1]));
}
$params=array("tic"=>$tic,"rubr"=>$rubr);

А вообще код определения PR не совсем точен. На 64 битных процах он не будет работать, поскольку там CHeckSum неправильно считается, а правильный выглядит так:


<?

define('GOOGLE_MAGIC', 0xE6359A60);

function nooverflow($a) {
while ($a<-2147483648)
$a+=2147483648+2147483648;
while ($a>2147483647)
$a-=2147483648+2147483648;
return $a;
}

function zeroFill ($x, $bits) {
if ($bits==0) return $x;
if ($bits==32) return 0;
$y = ($x & 0x7FFFFFFF) >> $bits;
if (0x80000000 & $x) {
$y |= (1<<(31-$bits));
}
return $y;
}

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

return array($a,$b,$c);
}

function GoogleCH($url, $length=null, $init=GOOGLE_MAGIC){
if(is_null($length)){
$length = sizeof($url);
}
$a = $b = 0x9E3779B9;
$c = $init;
$k = 0;
$len = $length;
while($len >= 12){
$a += ($url[$k+0] +($url[$k+1]<<8) +($url[$k+2]<<16) +($url[$k+3]<<24));
$b += ($url[$k+4] +($url[$k+5]<<8) +($url[$k+6]<<16) +($url[$k+7]<<24));
$c += ($url[$k+8] +($url[$k+9]<<8) +($url[$k+10]<<16)+($url[$k+11]<<24));
$mix = mix($a,$b,$c);
$a = $mix[0]; $b = $mix[1]; $c = $mix[2];
$k += 12;
$len -= 12;
}
$c += $length;
switch($len){
case 11: $c+=($url[$k+10]<<24);
case 10: $c+=($url[$k+9]<<16);
case 9 : $c+=($url[$k+8]<<8);
case 8 : $b+=($url[$k+7]<<24);
case 7 : $b+=($url[$k+6]<<16);
case 6 : $b+=($url[$k+5]<<8);
case 5 : $b+=($url[$k+4]);
case 4 : $a+=($url[$k+3]<<24);
case 3 : $a+=($url[$k+2]<<16);
case 2 : $a+=($url[$k+1]<<8);
case 1 : $a+=($url[$k+0]);
}
$mix = mix($a,$b,$c);
return $mix[2];
}

function strord($string){
for($i=0;$i<strlen($string);$i++){
$result[$i] = ord($string{$i});
}
return $result;
}

function get_pr($url){
global $googleDomains;
$url="info:".$url;
$checksum=GoogleCH(strord($url));
$google_url=sprintf("http://".$googleDomains[mt_rand(0,count($googleDomains)-1)]."/search?client=navclient-auto&ch=6%u&features=Rank&q=".$url,$checksum);
$p=explode(":",file_get_contents($google_url));
if(isset($p[2])) {
$result[1]=$p[2];
}
return $result[1];
}

Я считаю что надо просто попросить доброго админа прикрепить тему, чтобы куча таких тем не разводилась. А за открывание клонов всеобщий минус ставить. К тому же список уже поменялся давно. Например нашего сервиса уже не существует, а он везде висит

Скиньте сайт плиз. А то у меня когда нажимаешь "послать личное сообщение" эксплорер вылетает

Ха-ха. Есть сайты и по 2т не из ЯК, а наличие сейчас не особо кому то важно. По большому счету присутствие в ЯК даже минус при покупке ссылки. Если сайт набрал тИЦ 2т не находясь в ЯК то это гораздо больше я ценю, нежели сайт, который набрал тИЦ 2т в ЯК

Каширин, так это вариант скрипта определения позиций грубого. Вопрос об бане не стоял. Если с баном, то можно добавить поддержку проксей. Либо купить хостинг с динамическим IP - тогда не забанят долго.

Если грубо, то можно такой скрипт сделать:


$userAgents = Array("Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.2.1) Gecko/20021204",
"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)",
"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; ru) Opera 8.50",
"Opera/9.0 (Windows NT 5.1; U; en)",
"Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.0.1) Gecko/20060111 Firefox/1.5.0.1",
"Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7.5) Gecko/20050603 Netscape/8.0.2",
"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; MyIE2)");

$kwlist=array("ключевик1","ключевик2");

function multiHTTP ($urlArr) {
global $userAgents;
$sockets = Array(); // socket array!
$urlInfo = Array(); // info arr
$retDone = Array();
$retData = Array();
$errno = Array();
$errstr = Array();
for ($x=0;$x<count($urlArr);$x++) {
$urlInfo[$x] = parse_url("http://www.yandex.ru/yandsearch?numdoc=50&text=".urlencode($urlArr[$x])."&stype=www");
$urlInfo[$x][port] = ($urlInfo[$x][port]) ? $urlInfo[$x][port] : 80;
$urlInfo[$x][path] = ($urlInfo[$x][path]) ? $urlInfo[$x][path] : "/";
$sockets[$x] = fsockopen($urlInfo[$x][host], $urlInfo[$x][port],
$errno[$x], $errstr[$x], 30);
socket_set_blocking($sockets[$x],FALSE);
$query = ($urlInfo[$x][query]) ? "?" . $urlInfo[$x][query] : "";
fputs($sockets[$x],"GET " . $urlInfo[$x][path] . "$query HTTP/1.0\r\nHost: " .
$urlInfo[$x][host] . "\r\n\r\n" .
"User-Agent: ".$userAgents[mt_rand(0,count($userAgents)-1)]."\r\n" .
"Referer: http://".$host."\r\n" .
"Accept-Language: en-us, en;q=0.50\r\n" .
"Accept-Charset: ISO-8859-1, utf-8;q=0.66, *;q=0.66\r\n" .
"Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,video/x-mng,image/png,image/jpeg,image/gif;q=0.2,text/css,*/*;q=0.1\r\n" .
"Connection: close\r\n" .
"Cache-Control: max-age=0\r\n\r\n");
}
// ok read the data from each one
$done = false;
while (!$done) {
for ($x=0; $x < count($urlArr);$x++) {
if (!feof($sockets[$x])) {
if ($retData[$x]) {
$retData[$x] .= fgets($sockets[$x],128);
} else {
$retData[$x] = fgets($sockets[$x],128);
}
} else {
$retDone[$x] = 1;
}
sleep(rand(0,5)/10);
}
$done = (array_sum($retDone) == count($urlArr));
}
return $retData;
}


if (count($kwlist)>0) {
$contents = multiHTTP($kwlist);
for ($i=0; $i<count($contents); $i++) {
preg_match_all('|<div class="title">\n<a(.*)href="(.*)"|Uis', $contents[$i], $links);
$keywords[]=array("keyword"=>$kwlist[$i],"places"=>$links[2]);
}
}
echo "<pre>";
print_r($keywords);
echo "</pre>";

Кому надо переделает

Но получается как то глупо. Возьму я и сделаю домен sladkoe.ru, который будет о тортах например. И что? Получается мне судиться потом придется с корпорацией СЛАДКО, потому что я использую их название в своем адресе?

Еще раз повторю, письмо пришло через систему тикетов, т.е. обратный адрес только хостера. Написал письмо, молчат уже 3 дня. Наверно просто сменю хостера и все.

Да, кстати, это не письмо, это тикет был в закрытой части.

Всего: 1093