Pagerank, site, backlinks
Niedawno na forum PiO zdeklarowałem się, że napiszę skrypt, które podaje liczbę stron i linków wybranych stron w wyszukiwarkach. Sprawa prosta, ale trzeba było znaleźć trochę czasu. Drugi skrypt, który był w planach to sprawdzanie czy na wybranej stronie istnieje link do naszej strony. Bardzo przydatne jeśli wymieniamy się z kimś linkami.
Wszystkie "tajniki" programowania (biblioteka curl, wyrażenia regularne), które zostały użyte w utworzonych klasach były już wykorzystywane na tym blogu, dlatego tym razem przedstawię tylko jak uruchomić skrypty.
Istnieje też możliwość sprawdzenia kilku stron na raz. Tworzymy sobie plik lista.txt o strukturze:
http://recenzjecms.net www.hyh.pl www.gazeta.pl
Kod bardzo podobny do poprzedniego, tylko trzeba było wszystko wrzucić w pętlę. W przypadku wyszukiwarki Yahoo możemy skorzystać z Application ID, jeśli takowy posiadamy, wprowadzając go jako drugi parametr funkcji.
Drugi skrypt poza sprawdzeniem czy link istnieje sprawdza także czy posiada on atrybut nofollow oraz jak wygląda anchor.
Opisane tutaj klasy wraz z załączonymi przykładami można pobrać i wykorzystywać do woli:
crawlsinfo.tgz - sprawdza wyszukiwarki MSN, Yahoo, Google
linkschecker.tgz - sprawdza linki wraz z nofollow i anchor
Słowa kluczowe: PHP, Techblog, backlinks, google, linki zwrotne, msn, pagerank, site, yahoo, artykuł, blog

Komentarze i opinie
Powiedzmy, że nie będę przeszukiwał archiwum tylko zapytam - wykorzystałeś Google API czy klasa GoogleInfo(); jest storzona przez Ciebie?
Z google api nie korzystałem. Jak będę robił pod siebie narzędzie to pewnie tutaj też zaktualizuje skrypt. Klasa jest stworzona przeze mnie, natomiast część odpowiedzialna za wyliczanie pagerank oczywiście była gotowa i informacja o tym jest na samej górze w komentarzu.
> echo "<pre>";
> (...)
> echo "</pre>";
ja to zwykle prościej załatwiam header('Content-Type: text/plain');, ale to taki skromny OT. ;)
a skrypt bardzo przydatny, dzięki.
Dobry ten skrypt. Teraz tylko zrobić coś takiego by pobierało dane (site, bl, pr,keywordsy) dla wszystkich stron, zapisywalo je do bazy danych i co dzien wysylal dane dla tych wszystkich stron, co tydzien z wykresem, i co miesiąc z wykresem miesięcznym... To dopiero byłby skrypt :P
@Rockstyle: myślę o takim, więcej szczegółów za jakiś czas
google site mi bardzo czesto zwraca -1 :/
inne rzeczy dzialaja tak jak trzeba
@mw: wykryłem problem, już powinno działać poprawnie
Bardzo fajnie to opisałeś, ale mógłbyś zaktualizować, ponieważ nie działa Google site.
@Mar: aktualna wersja działa, chociaż mogą wystąpić problemy ponieważ google ostatnio wyświetla stronę z prośbą o wpisanie captcha, niestety na to nie ma rady ( poza skorzystaniem z google api ), wyskakuje mi to nawet przy wyszukiwaniu przez przeglądarkę ;)
Musiałem to trochę zmodernizować, bo nie chciało działać na php5, teraz ładnie śmiga. Mam prośbę, jak byś nie miał pomysłu na skrypt, poszukuję skryptu zliczającego linki wychodzące z danej domeny.
A dokładniej jakie błędy wyskakiwały? Bo pod wersją 5.2.4 działa bez żadnych problemów.
Na samym dole, pod phpinfo():
http://www.katalogiseo.info/crawlsinfo/example.php
@Mar: używasz PHP4, które już od tego roku nie jest rozwijane, a od paru dni nawet nie ma wypuszczanych łatek bezpieczeństwa, używanie PHP4 to narażanie się na ataki
a w skrócie skrypt wymaga PHP5...
Czy to normalne że dla niezindeksowanej strony pojawiają się wszędzie -1?
@kapitan_hak: tak
@sf, tera już wiem. Dzięki.
Skopiowałem pliki na swój serwer do katalogu /test/, uruchomiłem nic nie zmieniając i wywala błąd:
Parse error: syntax error, unexpected T_STRING, expecting T_OLD_FUNCTION or T_FUNCTION or T_VAR or '}' in /home2/dealer/main/pkg/xyz/web/html/test/GoogleInfo.php on line 29
Czego to może być przyczyna?
@rambo: PHP5, a nie PHP4
Wyrzuca mi ciągle -1.. czy moge temu jakos zaradzić ??:(
http://www.softy.pl/crawlsinfo/example.php5
oto co mi wyrzuca...
ps zostawilem tylko statystyki z google bo tylko one mnie interesują oraz usunalem linijke:
// $sError = 'Access denied. 64bit CPU?';
bo mi wywalalo bledy jak wprowadzilem wiecej niz jeden adres
@bosu: część odpowiedzialna za podawanie PR nie jest mojego autorstwa i najwidoczniej nie działa pod procesory 64bitowe
Skrypt do linków fajny, tylko szkoda że nie działa do końca prawidłowo. Sprawdza tylko ostatnią linię pliku list.txt :( a dla wcześniejszych wywala że linku nie ma.. mimo że jest.
@jaclaw: możesz dać przykład takiej strony gdzie nie pokazuje?
http://www.test.jaclaw.masternet.pl/example.php
domenka testowa, chciałem sobie tam narzędzie zrobić do sprawdzania.
jak zamienię ich kolejność to pokazuje dobrze dla tego na dole...
Będzie jakaś poprawka tego sklrypciku? Bo fajnie się zapowiadał.
@jaclaw: problemem są znaki nowej linii, edytowałeś plik pod windowsem i coś najwidoczniej jest nie tak z funkcją w php :) musisz w pliku example.php zamienić pętlę na taką :
foreach(explode("\r\n", file_get_contents('list.txt')) as $aRow) {
$aData[] = explode(';', $aRow);
}
lub też używać edytora z obsługą znaków nowej linii w unix-like ;)
Ja bym rownież wykorzystał google API. Jest o wiele dokladniejsze i wydajniejsze.
Ciekawy wpis. Dzięki.
Musaiłem stworzyć małą pentelkę:
$GS = $oGoogle->site($sSite);
while($GS==-1)
{
$GS = $oGoogle->site($sSite);
echo '<br/>Bledna wartosc Google Site. Czekam 5 sek. Proba '.$test.' z 4.<br/>';
sleep(5);
$test++;
}
Bo inaczej nie szło pobrać tego dobrze - niestety na backlinks google to nie działa, a praktycznie zawsze pobiera -1. Udaje mu się raz na setki prób... Co się mija z celem...
A wybaczcie za to proba z 4 (miało być ograniczone, ale stwierdziłem, że ma pobierać do oporu)
while($GS==-1)
{
$GS = $oGoogle->site($sSite);
sleep(5);
}
Tak też zadziała.
Witam, czy ten program nadal działa, niestety wyrzuca mi wszędzie -1 ....
Nowy komentarz