31 Programowanie 4 minuty czytania

PHP: Sprawdzanie PageRank

W poprzednich wpisach wspominałem, że na blogu pojawiać się będą wpisy dotyczące skryptów i rozwiązać tworzonych w PHP. Jednak ze względu na brak czasu (sesja, obrona licencjatu) nie było to możliwe. Dzisiaj, gdy mam to już wszystko z głowy mogę coś w tym kierunku zrobić.

W poprzednich wpisach wspominałem, że na blogu pojawiać się będą wpisy dotyczące skryptów i rozwiązać tworzonych w PHP. Jednak ze względu na brak czasu (sesja, obrona licencjatu) nie było to możliwe. Dzisiaj, gdy mam to już wszystko z głowy mogę coś w tym kierunku zrobić.

Na pierwszy ogień idzie skrypt do pobierania wartości PageRank.

Muszę zaznaczyć, że nie jestem jego 100% autorem, gdyż w sieci znalazłem gotowe rozwiązanie (kilka funkcji). Moja rola ograniczyła się raczej do przepisania tego na wersję obiektową, tak aby było to łatwe i przyjemne w użytkowaniu.

Inicjalizacja

W celu sprawdzenia "zielonego paska" musi stworzyć nowy obiekt klasy googlePageRank. Jeszcze na chwilę zatrzymajmy się przy konstruktorze klasy. Posiada on dwa parametry z czego drugi jest opcjonalny. Pierwszy parametr to adresy strony internetowej, której będziemy sprawdzać PageRank. Drugi parametr może być tablicą zawierającą listę z adresami IP DataCenter na których będziemy sprawdzać PR. Jeżeli nie zostanie on podany, to domyślnie PageRank będzie sprawdzany na google.com.

$objPR = new googlePageRank('http://mojastrona.pl');

//tablica z IP DC
$arrDC[0] = '64.233.161.104';
$arrDC[1] = '66.102.11.107';

$objPRdc = new googlePageRank('http://mojastrona.pl', $arrDC);

Klasa posiada pole typu tablicowego, w którym są przechowywane dane. Tablica składa się z dwóch pól. Pierwsze pole to informacja z adrese DC, drugie pole to najbardziej interesująca nas informacja (chyba nie trzeba pisać jaka?) ;).

Odczytywanie danych

Jako, że dane są przechowywane w tablicy to najlepszym sposobem do "przemielenia" tych informacji jest pętla (np. for).

for( $i=0, $ile=count($arrPRdc); $i<$ile; $i++ )
echo 'PR na '.$arrPRdc->arrResults[$i]['dc'].' wynosi: '.$arrPRdc->arrResults[$i]['pagerank'].'
';

Lub za pomocą funkcji print_r.

echo '

';
print_r( $arrPRdc->arrResults );
echo '
';

Limity

Jedynym limitem jest zabezpieczenie Google. Jednorazowo, dziennie można odpytać 1000 razy bazę Google.

Mam nadzieję, że skrypt się przyda ;). Teraz nie będziesz musiał korzystać z darmowych rozwiązań. Ĺšródło klasy PageRank można pobrać w wersji ZIP lub TXT. W jednym jak i w drugim pliku znajduje się przykład. Skrypt działa na PHP w wersji 4.0 lub wyższej.




Akceptuję politykę prywatności

Raz w miesiącu e-mail z najlepszymi artykułami

Zdjęcie autora wpisu - Piotr Cichosz

Piotr Cichosz — autor wpisu

Frontend developer. Tworzę zaawansowane systemy webowe w JS. Swoją wiedzę nt. SEO wykorzystuję do rozwijania własnych projektów (z lepszym lub gorszym efektem). Dużo eksperymentuję i staram się określić jak bardzo można nagiąć cierpliwość algorytmów Google (:. Prowadzę teraz bloga technologicznego oraz bloga o Apple

Komentarze 31

author Walker www 04.07.2007 23:08:38

for( $i=0, $ile=count($arrPRdc); $i

author Walker www 04.07.2007 23:11:06

Ojoj, ucięło mi kod. Chyba musisz poprawić escape'owanie ;).
Spróbuję jeszcze raz:
for( $i=0, $ile=count($arrPRdc); $i

author Walker www 04.07.2007 23:11:41

No i niestety, znów ucięło ;/.

author shpyo www 04.07.2007 23:32:14

Chyba znalazłeś buga :P
A o co chodzi z tą pętlą? Coś nie tak?

author Walker www 04.07.2007 23:42:07

No buga to na pewno znalazłem ;).

Nie, wszystko w porządku, tylko można to było szybciej i lepiej napisać:
$i

author mr_Zola www 05.07.2007 07:46:31

A gdzie jest coś napisane o limitach dotyczących przepytywania google?
Ja się spotkałem z jednodniowym banem na wyszukiwarkę jak robiłem skrypt do sprawdzania pozycji strony.

author shpyo www 05.07.2007 08:53:03

@mr_Zola: na dole wpisu: "Limity"

author mr_Zola www 05.07.2007 09:32:14

@shpyo: nie zrozumieliśmy się - skąd się wzięła liczba 1000, czy jest to gdzieś oficjalnie napisane?
Swoją drogą, nieźle zamotali (sposób wyliczania zmiennej ch) w google aby odczytać taki pagerank. (ciekawe po co?)

author mr_Zola www 05.07.2007 09:32:19

@shpyo: nie zrozumieliśmy się - skąd się wzięła liczba 1000, czy jest to gdzieś oficjalnie napisane?
Swoją drogą, nieźle zamotali (sposób wyliczania zmiennej ch) w google aby odczytać taki pagerank. (ciekawe po co?)

author sagittariuspl www 05.07.2007 11:34:55

wszystko pieknie gdyby to działało ;) u mnie zawsze, nieważne czy local czy serwer w shou.pl zawsze mam, blokadę połączenia. jeszcze żaden tego typu skrypt mi nie działał. jest na to jakaś metoda?

author shpyo www 05.07.2007 11:37:30

@sagittariuspl: widocznie muszą być jakieś blokady bezpieczeństwa np. brak możliwości otwierania zdalnych plików. Spróbuj może wrzucić to jakiś inny serwer, bo jeżeli to wina ustawień php to raczej nic nie zrobisz (chyba że admin serwera coś zmieni).

author sagittariuspl www 05.07.2007 18:48:34

tylko, że inny serwer nie wchodzi w grę. skrypt taki powoduje, że nie będę mógł go wszędzie uruchomić. moje localne IP jest blokowane przez google (sam nie wiem czemu). naszczeście pr odchodzi do lamusa

author Bartfoket www 08.07.2007 11:55:21

Mi pojawia się taki błąd:

Warning: file(http://www.google.com/search?client=navclient-auto&ch=6-2147446480&features=Rank&q=info:http://scretch.info) [function.file]: failed to open stream: HTTP request failed! HTTP/1.0 403 Forbidden in /home.5/s/c/r/scretch/www/check_pr.php on line 39

Array
(
[0] => Array
(
[dc] => www.google.com
[pagerank] =>
)

)

author iron1985 www 13.01.2008 12:15:45

czesc jestem lukas

author przemo www 17.01.2008 21:50:50

a to dziwne , że inny serwer nie wchodzi w grę

author Alexander www 23.01.2008 00:43:48

Miałem już wiele podobnych skryptów i okazało się, że ani jeden nie działał na moim serwerze. Ten w sumie też nie dział :(

author Webspider www 01.01.2009 11:26:55

Mi też na różnych serwach nie chce działać.

author Webspider www 04.01.2009 01:55:12

Zerknijcie w linka w moim nicku. Zainstalowałem ( kupiłem ) skrypt Page Rank. Nie żałuję tych kilkudziesieciu dolców.

author Procek www 05.02.2009 09:14:10

Webspider - spamer z Ciebie i tyle.

http://www.linkvendor.com/ tu masz wszystkie narzędzia jakie można sobie wymarzyć i to za darmo...

author Webspider www 09.02.2009 04:22:15

Jaki spamer. Na tego bloga trafiłem jak zawsze gdy szukam czegoś potrzebnego przez google. I jak napisałem coś w temacie akurat PR to zaraz spamer ? Ech te dzieci neostrady. Za darmo to nic w sieci nie dostaniesz no chyba, że free domenę hehe

author keNzi www 03.03.2009 13:30:37

Tego szukałem, dzięki.

author JA www 05.04.2009 15:38:53

Wielkie dzięki;) aż niewierzyłem że dzięki googlom tu kiedyś wejde;)

author Kkl www 03.05.2009 16:10:47

Fajne skrypt, big up!
Dla niekumatych, zeby wyciagnac sama cyfre PR(z google.com):

$objPR = new googlePageRank('http://jakasstrona.pl ');
echo $objPR->arrResults[0]['pagerank'];

author Irek www 11.12.2009 15:22:47

O przyda mi się ten skrypcik do mojego katalogu firm...

author studioad www 15.02.2010 22:11:06

"drugie pole to najbardziej interesująca nas informacja (chyba nie trzeba pisać jaka?) ;). " - a jakie są inne możliwości? :)

btw. http://code.google.com/p/popstats/

author Firmy 25.06.2011 09:24:41

dzieki za artykuł

author skrypt 29.03.2012 02:19:45

Dzięki, przyda się na pewno po małych przeróbkach :)

author sklepowad www 21.04.2012 09:32:01

Pr googli to w 2012 roku wielka przewała. Nie ma już znaczenia na jakość i pozycjonowanie stron

author Katalog stron 26.06.2012 21:30:28

Czy przewała? To czemu strony o wyższym page rank lepiej się w serpach zachowują? Page Rank to jedna z 200 wpływających na pozycje strony, lepiej mieć go niż narzekać na dalekie pozycje strony.

author Sklep dezynsekcja 28.05.2013 17:21:35

Moje zdanie to nie przewała.Wszystko się zmienia i algorytm też nabiera nowych innych znaczeń.

author Arky 10.06.2014 12:52:30

Coś link do zipa i txt nie działa :)

Dodaj komentarz