Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Skrypt ilości zaindeksowanych podstron google
Forum PHP.pl > Forum > Gotowe rozwiązania > Szukam
krzychu0808
Witam...
Szukam jakiegoś skryptu który sprawdza ilość za indeksowanych podstron google. Albo niech ktoś mnie na kieruje na jakąś lekturę która pomogła by mi coś takiego napisać...
Kildyt
Chodzi ci o liczbę wyników spod frazy "site:adres-strony"?
krzychu0808
tak oto mi chodzi smile.gif
kipero
CURL + preg_match
CURLem pobierasz stronę http://www.google.pl/search?q=site:example...p;hl=pl&lr= i wyciągasz z niej dane:
  1. <?php
  2. preg_match('#Wyniki <b>([0-9]+)</b> - <b>([0-9]+)</b> z <b>([0-9]+)</b>#Ui', $curl_exec, $matches);
  3. ?>

Ilość podstron masz w $matches[3]
Nie jestem pewny czy działa, bo pisałem z pamięci, bez testowania, ale powinno być ok.
krzychu0808
napisałem coś takiego ale zwraca mi wartość 0
  1. <?
  2. $ch = curl_init('http://www.google.pl/search?hl=pl&q=site%3Adowcipy.elaz.eu&btnG=Szukaj&lr=');
  3. curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
  4. $curl_exec = curl_exec($ch);
  5. echo preg_match('#Wyniki <b>([0-9]+)</b> - <b>([0-9]+)</b> z około<b>([0-9]+)</b>#Ui', $curl_exec, $matches);
  6. curl_close($ch);
  7. ?>

nigdy nie miałem do czynienia z curl więc proszę o wyrozumiałość
kipero
Mój błąd. Zapomniałem, że Google oddziela tysiące przecinkiem.
To jest już poprawna i na pewno działająca wersja. Powinno być:
  1. <?
  2. $ch = curl_init('http://www.google.pl/search?hl=pl&q=site%3Adowcipy.elaz.eu&btnG=Szukaj&lr=');
  3. curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
  4. $curl_exec = curl_exec($ch);
  5. preg_match('#Wyniki <b>[0-9]+</b> - <b>[0-9]+</b>[^<]+<b>([0-9,]+)</b>#Ui', $curl_exec, $matches);
  6. curl_close($ch);
  7.  
  8. $site = $matches[1];
  9. echo $site;
  10. ?>

Poza tym, preg_match nie zwraca wartości(ewentualnie true lub false, w zależności od tego czy coś znajdzie), a zapisuje wartości w tablicy, która jest trzecim parametrem - w tym wypadku $matches.
djgarsi
Sorki że odświeżam temat ale powyższy skrypt nie smiga.sad.gif
Ma ktoś jakieś działające rozwiązanie??
Fifi209
Cytat(djgarsi @ 7.07.2010, 13:45:13 ) *
Sorki że odświeżam temat ale powyższy skrypt nie smiga.sad.gif
Ma ktoś jakieś działające rozwiązanie??

Napisz czym ów "nieśmiganie" się objawia.
djgarsi
Poprostu nic nie wyświetla. Pusty ekran.
kipero
Google jakiś czas temu zmieniło wygląd. Poprawiane na szybko, ale działa.
  1. <?php
  2. $ch = curl_init('http://www.google.pl/search?hl=pl&q=site%3Awp.pl&btnG=Szukaj&lr=');
  3. curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
  4. $curl_exec = curl_exec($ch);
  5. preg_match('#<div id=resultStats>.* (.*) .*<nobr>#Ui', $curl_exec, $matches);
  6. curl_close($ch);
  7.  
  8. $site = $matches[1];
  9. echo $site;
  10. ?>
djgarsi
Dziękuję.smile.gif działa.smile.gif
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-2024 Invision Power Services, Inc.