Skocz do zawartości

Skrypt Link Popularity


myth

Rekomendowane odpowiedzi

  • Odpowiedzi 44
  • Dodano
  • Ostatniej odpowiedzi

A któś jest skłonny zapłacić za porządny skrypcik?

BL i IP z Google,MSN,Yahoo,Altavista,Alltheweb,HotBot,Netscape,Technorati

i dodatkowo: Alexa rank, DMOZ, wiek domeny liczony w dniach...

Do tego skrypcik może być ustawiony na iframe

co by można rozdawać kod do wklejenia wszem i wobec z backlinkiem oczywiście.

Sama maszynka do szukania pozostaje na jednym serwerze.

Sorry, nie odpowiadam na PMy

Odnośnik do komentarza
Udostępnij na innych stronach

  • 8 miesięcy temu...

Ma ktoś może poprawioną wersję, lub jakiś inny podobny skrypt do zbierania tych danych.

Ja mam póki coś takiego:

Ale z G.nie współpracuje:

function fetch_google($uri) {
$uri = trim(eregi_replace('https://', '', $uri)); $uri = trim(eregi_replace('http', '', $uri));
$url = 'https://www.google.com/search?hl=en&lr=&ie=UTF-8&q=link:'.$uri;
$v = file_get_contents($url);
preg_match('/of about \<b\>(.*?)\<\/b\>/si',$v,$r);
return ($r[1]) ? $r[1] : '0';

https://www.katalogiseo.info/test.php?url=h...2Fwww.mar.az.pl

Mar.

Polecam katalog SeoPark.pl, katalog AK47 (5 lata w sieci) ...oraz Wirtualne-miasta.eu
"Dopóki nie skorzystałem z Internetu, nie wiedziałem, że na świecie jest tylu idiotów" - Stanisław Lem

Odnośnik do komentarza
Udostępnij na innych stronach

  • 1 miesiąc temu...

EE... zrobiłem folder lp_cache i w nim .htaccess o treści

<limit POST GET>
deny from all
</limit>

a po wstawieniu kodu:

		<?php 
		include("link_popularity.php");

		// $website - tu podac URL strony, dla ktorej chcesz sprawdzic LinkPopularity
		$website = "https://zakladka.org.ua";
		$lp_test = LinkPopularity($website);

		echo "Google IP : ".$lp_test['Google']['ip'];
		echo "Google BL : ".$lp_test['Google']['bl'];

		echo "MSN IP : ".$lp_test['MSN']['ip'];
		echo "MSN BL : ".$lp_test['MSN']['bl'];

		echo "Yahoo! IP : ".$lp_test['Yahoo!']['ip'];
		echo "Yahoo! BL : ".$lp_test['Yahoo!']['bl'];
	?>

wyświetla się tylko " Google IP : Google BL : MSN IP : MSN BL : Yahoo! IP : Yahoo! BL : " czyli bez cyfr. Nic też dziwnego bo żaden plik nie został utworzony w katalogu lp_cache. Co to może być przyczyną.. serwer mam w ovh.pl

Drukarka przestaje już drukować? Kup tusze i tonery na inkhouse.pl !

Odnośnik do komentarza
Udostępnij na innych stronach

  • 2 tygodnie później...
A któś jest skłonny zapłacić za porządny skrypcik?

BL i IP z Google,MSN,Yahoo,Altavista,Alltheweb,HotBot,Netscape,Technorati

i dodatkowo: Alexa rank, DMOZ, wiek domeny liczony w dniach...

Ja jestem. Czekam na kontakt na PW.

Taaa.... ale sorry, w tym co opisałeś nie widzę żadnego sensu.

BTW. podany wyżej link jest stary...

Ten, który działa jest tutaj

Nie zaglądałem na stronę skryptu dawno, ale widzę, że większość rzeczy działa (chyba poza Technorati, które notorycznie miesza na swojej stronie).

Sorry, nie odpowiadam na PMy

Odnośnik do komentarza
Udostępnij na innych stronach

  • 4 tygodnie później...
  • 5 miesięcy temu...

Witam Pozycjonerów

Rady waszej mi potrzeba...

Mój problem dotyczy wersji PHP, jak ustawię w pliku .htaccess

SetEnv PHP_VER 4

to skrypt działa poprawnie, dla przykładowej strony wyświetla:

Google IP : 8,960Google BL : 2,840MSN IP : 1,200MSN BL : 33Yahoo! IP : 7,340Yahoo! BL : 9,362,719
a jak ustawię
SetEnv PHP_VER 5

to nie działa :/ wspułpracuje tylko z Google

Google IP : 8,940Google BL : 2,840MSN IP : 0MSN BL : 0Yahoo! IP : 0Yahoo! BL : 0
Niezbędne mi jest aby skrypt działał pod php5, lecz nie wiem jak tego dokonać... Czekam na jakieś podpowiedzi

<?php

define("CACHE_DIR", "lp_cache");
define("CACHE_TIME", 86400);	
/*
//		link_popularity.php
//		LinkPopularity - skrypt do sprawdzania IP i BL w serwisach Google, MSN, Yahoo!
//		IP - Indexed Pages BL - Back Links
//
//		Copyright (C) 2006 Yuriy Hatala (yuriy@myth.org.ua)
//
*/

/*
//		Fsockopen mod
//	  Dla serwerów bez socet'ow
//
//		Copyright (C) 2006 Marek Sciubidlo (fs@web-tools.pl)
//
*/



/*
//		Poprawka dla Yahoo (07.09.2006)
//
//		Copyright (C) 2006 Piotr Tarnowski - https://tarnowski.info (piotrek@akcja.pl)
//
*/


/*		
//		Skrypt jest udostepniany za darmo,
//		ale bedze mi milo jezeli umiescisz na swojej stronie link
//		----------------------------------------------------------------------
//		<a href="https://zakladka.org.ua" target="_blank">Katalog Ukrai?skich Stron</a>
//
//		lub kod Google AdSense
/*
	<script type="text/javascript"><!--
	google_ad_client = "pub-1115211806019693";
	google_ad_channel ="8871513117";
	google_ad_width = 234;
	google_ad_height = 60;
	google_ad_format = "234x60_as";
	google_ad_type = "text_image";
	//--></script>
	<script type="text/javascript"
		  src="https://pagead2.googlesyndication.com/pagead/show_ads.js">
	</script>
/*

/*
//		INSTALACJA
//		----------------------------------------------------------------------
//		1. 	Sworzyc na serwerze katalog "lp_cache" z prawami do zapisu
//		2. 	W tym katalogu stworzyc plik ".htaccess" 
//		2.1	zapisac do pliku ".htaccess" :
//				<limit POST GET>
//				deny from all
//				</limit>
//		3.	Skopijowac plik "link_popularity.php" na serwer
//		----------------------------------------------------------------------
//
//	  JAK KORZYSTAC ZE SKRYPTU
//	  ----------------------------------------------------------------------
//		dane o LinkPopularity sa przechowywany w plikach i sa wazne przez 24 godziny,
//		po uplywie tego czasu przy ponownym wywolaniu skryptu dane zostana zaktualizowane.
//		zeby zmienic czas waznosci danych (czas keszowania) wystarczy zmienic wartosc zmiennej CACHE_TIME.
//		Czas jest podawany w sekundach ( 86400 sec. = 24 godziny )
//	
//		define("CACHE_TIME", 86400);
//	
//		<?php 
//			include("link_popularity.php");

//			// $website - tu podac URL strony, dla ktorej chcesz sprawdzic LinkPopularity
//			$website = "https://zakladka.org.ua";
//			$lp_test = LinkPopularity($website);
//
//			echo "Google IP : ".$lp_test['Google']['ip'];
//			echo "Google BL : ".$lp_test['Google']['bl'];
//
//			echo "MSN IP : ".$lp_test['MSN']['ip'];
//			echo "MSN BL : ".$lp_test['MSN']['bl'];
//
//			echo "Yahoo! IP : ".$lp_test['Yahoo!']['ip'];
//			echo "Yahoo! BL : ".$lp_test['Yahoo!']['bl'];
//		?>
*/


function LinkPopularity($website)
{
$Result = array();	
if (preg_match("/^(https?:\/\/)?([^\/]+)/i", $website, $matches)) { $target = $matches[2]; }

if (strlen(trim(CACHE_DIR)) > 0)
{
	$file = sprintf("%s/lp_%s", CACHE_DIR, md5($target));
	if (file_exists($file) && (filesize($file) > 0) && (time() - filemtime($file)) < CACHE_TIME)
	 { $Result = unserialize(join('', file($file))); }
	else
	{
		if ($handle = @fopen($file, "w"))
		{
			if (is_resource($handle) && flock($handle, LOCK_EX))
			{
				$Result  = getData($target);
				$sResult = serialize($Result);
				fwrite($handle, $sResult, strlen($sResult));
				flock($handle, LOCK_UN);
			}
			fclose($handle);				
		}
	}
}
else { $Result = getData($target); }
return $Result;
}

function getData($target)
{
$Result = array();
$DataArray = array('Google' => array('Mask' => "/about\s+(\d+(,\d+)*)\s+(linking|from)/",
									 'BLSearch' => "https://www.google.com/search?hl=en&lr=&ie=UTF-8&q=link%3A!TARGET_HOST!",
									 'IPSearch' => "https://www.google.com/search?hl=en&lr=&sa=G&q=site%3A!TARGET_HOST!"),
				   'Yahoo!' => array('Mask' => "/about\s+(\d+(,\d+)*)\s+(-)/",
									 'BLSearch' => "https://siteexplorer.search.yahoo.com/search?p=http%3A%2F%2F!TARGET_HOST!&bwm=i&bwms=p&bwmf=u&fr=yfp-t-500&fr2=seo-rd-se",
									 'IPSearch' => "https://siteexplorer.search.yahoo.com/search?p=http%3A%2F%2F!TARGET_HOST!&bwm=p&bwms=p&fr=yfp-t-500&fr2=seo-rd-se"),
				   'MSN'	=> array('Mask' => "/of\s+(\d+(,\d+)*)\s+result/",
									 'BLSearch' => "https://search.msn.com/results.aspx?q=link%3A!TARGET_HOST!",
									 'IPSearch' => "https://search.msn.com/results.aspx?q=site%3A!TARGET_HOST!&first=1&FORM=PDRE")
									 					 );

foreach ($DataArray as $Service => $Data)
{
	$Result[$Service]['bl'] = fetchBySocket(preg_replace("/\!TARGET_HOST\!/", $target, $Data['BLSearch']), $Data['Mask']);
	$Result[$Service]['ip'] = fetchBySocket(preg_replace("/\!TARGET_HOST\!/", $target, $Data['IPSearch']), $Data['Mask']);
}
return $Result;
}

function fetchBySocket($source, $mask, $strip_tag = TRUE)
{
 $tmpContent='';
	$flReturn = false;
	if(function_exists('socket_create'))
	{


	/*	
if (($Socket = socket_create(AF_INET, SOCK_STREAM, 0)) > 0) 
{
	$tmpParam = parse_url($source);
	$SendHeader = "GET ".$tmpParam[path]."?".$tmpParam[query]." HTTP/1.0\r\n".
				  "Referer: https://zakladka.org.ua\r\n".
				  "Host: ".$tmpParam['host']."\r\n".
				  "User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)\r\n\r\n";

	if (socket_connect($Socket, gethostbyname($tmpParam[host]), getservbyname ('www', 'tcp')) > 0)
	{
		socket_write($Socket, $SendHeader, strlen($SendHeader));
		while ($ReadContent = socket_read($Socket, 1024))
		{
			if ($strip_tag) { $tmpContent .= strip_tags($ReadContent); }
			else { $tmpContent .= $ReadContent; }
			if (preg_match($mask, $tmpContent, $Result)) { $flReturn = true; break; }
		}
	}
	socket_close($Socket);
	if ($flReturn) { return $Result[1]; } else { return 0; }
}
else { return 0; }

}
else	
{
*/ 
   $tmpParam = parse_url($source);
 if ($Socket = @fsockopen($tmpParam['host'], 80, $errno, $errstr, 1))
 { 
  #var_dump($source);
	$SendHeader = "GET ".$tmpParam['path']."?".$tmpParam['query']." HTTP/1.0\r\n".
				  "Referer: https://www.seodir.web-tools.pl\r\n".
				  "Host: ".$tmpParam['host']."\r\n".
				  "User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)\r\n\r\n";

	if ($Socket)
	{

		@fwrite($Socket, $SendHeader);
		while (!feof($Socket))
		{
			if ($strip_tag) { $tmpContent .= strip_tags(@fgets($Socket, 512)); }
			else { $tmpContent .= @fgets($Socket, 512); }
			if (preg_match($mask, $tmpContent, $Result)) { $flReturn = true; break; }
		}
	}
	@fclose($Socket);
	if ($flReturn) { return $Result[1]; } else { return 0; }
}
else { return 0; }
} 
else 
{
$curl = curl_init();
 $header[0] = "Accept: text/xml,application/xml,application/xhtml+xml,";
 $header[0] .= "text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5";
 $header[] = "Cache-Control: max-age=0";
 $header[] = "Connection: keep-alive";
 $header[] = "Keep-Alive: 300";
 $header[] = "Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7";
 $header[] = "Accept-Language: en-us,en;q=0.5";
 $header[] = "Pragma: "; 

 curl_setopt($curl, CURLOPT_URL, $source);
 curl_setopt($curl, CURLOPT_USERAGENT, 'Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)');
 curl_setopt($curl, CURLOPT_HTTPHEADER, $header);
 curl_setopt($curl, CURLOPT_REFERER, 'https://www.jachu.biz');
 curl_setopt($curl, CURLOPT_ENCODING, 'gzip,deflate');
 curl_setopt($curl, CURLOPT_AUTOREFERER, true);
 curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
 curl_setopt($curl, CURLOPT_TIMEOUT, 10);

 $html = curl_exec($curl); // execute the curl command
 curl_close($curl); // close the connection

if ($strip_tag) { $tmpContent .= strip_tags($html); }
else { $tmpContent .= $html; }
if (preg_match($mask, $tmpContent, $Result)) { $flReturn = true;}

if ($flReturn) { return $Result[1]; } else { return 0; }
}


}




?>

Odnośnik do komentarza
Udostępnij na innych stronach

  • 2 lata później...

Przepraszam, że kopię tak głęboko :) ale poszukałem i nic nowego nie znalazłem. Wiele jest skryptów do zliczania IP, PR, ale dla YBL nic nie znalazłem. Nie jestem programistą, php znam ledwo, ale przeglądając kod doszedłem do wniosku, że problem jest w tym miejscu - jeśli tak nie jest będę wdzięczny za nakierowanie mnie na błąd:

function getData($target)
{
$Result = array();
$DataArray = array('Google' => array('Mask' => "/about\s+(\d+(,\d+)*)\s+(linking|from)/",
									 'BLSearch' => "https://www.google.com/search?hl=en&lr=&ie=UTF-8&q=link%3A!TARGET_HOST!",
									 'IPSearch' => "https://www.google.com/search?hl=en&lr=&sa=G&q=site%3A!TARGET_HOST!"),
				   'Yahoo!' => array('Mask' => "/about\s+(\d+(,\d+)*)\s+(-)/",
									 'BLSearch' => "https://siteexplorer.search.yahoo.com/search?p=http%3A%2F%2F!TARGET_HOST!&bwm=i&bwms=p&bwmf=u&fr=yfp-t-500&fr2=seo-rd-se",
									 'IPSearch' => "https://siteexplorer.search.yahoo.com/search?p=http%3A%2F%2F!TARGET_HOST!&bwm=p&bwms=p&fr=yfp-t-500&fr2=seo-rd-se"),
				   'MSN'	=> array('Mask' => "/of\s+(\d+(,\d+)*)\s+result/",
									 'BLSearch' => "https://search.msn.com/results.aspx?q=link%3A!TARGET_HOST!",
									 'IPSearch' => "https://search.msn.com/results.aspx?q=site%3A!TARGET_HOST!&first=1&FORM=PDRE")
														  );

Coś jest nie tak z wyrażeniami - about itd. Nie mam pojęcia jak zapisać te wyrażenia. Czy ktoś rozwiązał ten problem (modyfikacja dla yahoo)? Dla reszty też nie wyświetla danych, ale dla googla znalazłem inny skrypt, jakby ktoś chciał mogę podesłać.

Będę wdzięczny za pomoc.

Pozdrawiam

Odnośnik do komentarza
Udostępnij na innych stronach

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.

×
×
  • Dodaj nową pozycję...

Powiadomienie o plikach cookie

Umieściliśmy na Twoim urządzeniu pliki cookie, aby pomóc Ci usprawnić przeglądanie strony. Możesz dostosować ustawienia plików cookie, w przeciwnym wypadku zakładamy, że wyrażasz na to zgodę. Warunki użytkowania Polityka prywatności