Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Sprawdzanie pozycji w google
Forum PHP.pl > Forum > Przedszkole
mefistofeles
Zabieram się za napisanie takiego skryptu, ale może ktoś już wcześniej to zrobił
i tego właśnie dotyczy mój post.

Znalazłem na forum coś takiego: http://forum.php.pl/index.php?showtopic=70964
Niestety nie działa.

Na stronie http://www.kacka.pl/index.php?showtopic=12 są przykłady które również nie działają.

Może ktoś wie gdzie znajdę gotowy skrypt do sprawdzania pozycji, który rzeczywiście działa tak jak trzeba ?
pedro84
Na pewno znajdziesz tutaj.
mefistofeles
Napisałem coś takiego:

  1. <?
  2. $url = 'http://www.google.pl/search?q='.$key[$i].'&hl=pl&lr=lang_pl&safe=off&tbs=lr:lang_1pl&prmd=ivl&ei=mYIfTMj4MYKe_gb0j8SlDQ&start=0&sa=N&num=100';
  3.  
  4. $file = file_get_contents($url);
  5.  
  6. $pattern = '%<h3 class="r"><a href="(.*?)" class=l%i'; //wyrazenie do parsowania
  7. preg_match_all($pattern,$file,$return,PREG_SET_ORDER);
  8.  
  9. //wyswietlamy wyniki
  10. $iq=0;
  11. foreach($return as $val)
  12. {
  13. $iq++;
  14. if ( strstr($val[0], $site)) { echo '<p>Pozycja Twojej strony: '.$iq.'</p>';
  15. break;
  16. }
  17. }
  18.  
  19. }
  20.  
  21. ?>


No i wszystko działa extra, problem polega tylko na tym, że jeśli nie znajdzie pozycji wśród 100 pierwszych wyników to drukuje na ekranie
informacje że nie znalazł, ale jak próbuje dodać else to zaczynają się problemy:

  1. <?
  2. $url = 'http://www.google.pl/search?q='.$key[$i].'&hl=pl&lr=lang_pl&safe=off&tbs=lr:lang_1pl&prmd=ivl&ei=mYIfTMj4MYKe_gb0j8SlDQ&start=0&sa=N&num=100';
  3.  
  4. $file = file_get_contents($url);
  5.  
  6. $pattern = '%<h3 class="r"><a href="(.*?)" class=l%i'; //wyrazenie do parsowania
  7. preg_match_all($pattern,$file,$return,PREG_SET_ORDER);
  8.  
  9. //wyswietlamy wyniki
  10. $iq=0;
  11. foreach($return as $val)
  12. {
  13. $iq++;
  14. if ( strstr($val[0], $site)) { echo '<p>Pozycja Twojej strony: '.$iq.'</p>';
  15. break;
  16. } else {
  17. echo'Nie znaleziono wśród 100 pierwszych wyników';
  18. }
  19. }
  20.  
  21. }
  22. ?>


W tym wypadku jeśli np słowo jest na 10 miejscu to 9 razy wydrukuje mi 'Nie znaleziono wśród 100 pierwszych wyników'.
Wiadomo, to else jest w złym miejscu ale w takim razie gdzie mam je wstawić bo mimo licznych prób efektu satysfakcjonującego nie otrzymałem ?
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.