Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] wyciąganie kilku informacji ze strony
Forum PHP.pl > Forum > Przedszkole
xxxlukasz
Witam,
od razu przyznaję się, jestem ciemny, a język PHP liznąłem na tyle by móc sklecić kilka linijek kodu celem wyciągnięcia danych z pliku np. include() itp.

Jednak postanowiłem do mojego dorobku intelektualnego dorzucić umiejętność wyciągania danych ze stron www. I tak oto wpadłem na pomysł wyciągnięcia informacji z mojego chomika i wyświetlenia ich na stronie m.in: ilości plików oraz wielkość danych umieszczonych w chomikuj.pl.

Próbowałem użyć:

  1. preg_match('<span id=/"ctl00_CT_StatsSize/" style=/"font-weight:bold;/">(.*)</span>');


ale niestety nie wyszło. Próbowałem na wszelkie sposoby. Czy może ktoś z drogich forumowiczów ma już taki skrypt zrobiony? Albo próbował? Bo może nie da się tego zrobić i niepotrzebnie męczę sięquestionmark.gif Może istnieje gdzieś błąd w połączeniu ze stroną?
varez
Cytat(xxxlukasz @ 18.05.2010, 10:35:00 ) *
Próbowałem użyć:
  1. preg_match('<span id=/"ctl00_CT_StatsSize/" style=/"font-weight:bold;/">(.*)</span>');

jeżeli to wszystko co podałeś do funkcji preg_match to z pewnością nie podziała ^^.
Generalnie dobrze by było jakbyś podał cały kod jaki masz, przecież długi nie jest (max 10 linijek)?

Cytat(xxxlukasz @ 18.05.2010, 10:35:00 ) *
ale niestety nie wyszło. Próbowałem na wszelkie sposoby.

Mógłbyś podać wszystkie Twoje sposoby, żebyśmy wskazali Ci błąd

Cytat(xxxlukasz @ 18.05.2010, 10:35:00 ) *
Może istnieje gdzieś błąd w połączeniu ze stroną?

W większości przypadków skrypt by Ci to wypisał.
Jest taka możliwość, ale znowu - nie pokazałeś nam jak próbujesz pobrać stronę..
xxxlukasz
Wycinek kodu strony:
  1. <span id="ctl00_CT_StatsFilesCount" style="font-weight:bold;">42207</span>
  2. plików (<span id="ctl00_CT_StatsSize" style="font-weight:bold;">5856841,6 MB</span>)<br />
  3. <div class="StatsArea">
  4. <div class="StatsMusic" title="pliki muzyczne"><span id="ctl00_CT_StatsMusic">3631</span></div>
  5. <div class="StatsVideos" title="pliki video"><span id="ctl00_CT_StatsVidoes">10847</span></div>
  6. <div class="StatsImages" title="obrazy"><span id="ctl00_CT_StatsImages">16656</span></div>
  7. <div class="StatsDocs" title="dokumenty"><span id="ctl00_CT_StatsDocs">1199</span></div>


Mój kod - nieco zmodyfikowany - już coś mi się wyświetla:

  1. <?php
  2. $url="http://chomikuj.pl/Rufus88";
  3. $tekst = file_get_contents($url);
  4. preg_match_all('@<span id="ctl00_CT_StatsFilesCount" style="font-weight:bold;">(.*)</span>@', $tekst, $wynik);
  5. preg_match_all('@<span id="ctl00_CT_StatsSize" style="font-weight:bold;">(.*)</span>@', $tekst, $wynik2);
  6. preg_match_all('@<span id="ctl00_CT_StatsMusic">(.*)</span>@', $tekst, $wynik3);
  7. preg_match_all('@<span id="ctl00_CT_StatsVidoes">(.*)</span>@', $tekst, $wynik4);
  8. preg_match_all('@<span id="ctl00_CT_StatsImages">(.*)</span>@', $tekst, $wynik5);
  9. preg_match_all('@<span id="ctl00_CT_StatsDocs">(.*)</span>@', $tekst, $wynik6);
  10. print_r($wynik);
  11. print_r($wynik2);
  12. print_r($wynik3);
  13. print_r($wynik4);
  14. print_r($wynik5);
  15. print_r($wynik6);
  16. ?>


I nie wiem jak dalej to ugryźć sad.gifsad.gif
$wynik oraz $wynik2 w ogóle nie wyświetlają mi się sad.gifsad.gif
varez
  1. <pre>
  2. <?php
  3. $url="http://chomikuj.pl/Rufus88";
  4. $tekst = file_get_contents($url);
  5. preg_match('@ctl00_CT_StatsFilesCount[^>]+><b>(.*)</b><@', $tekst, $wynik);
  6. $stats['liczba']=$wynik[1];
  7. preg_match('@ctl00_CT_StatsSize[^>]+><b>(.*)</b><@', $tekst, $wynik);
  8. $stats['rozmiar']=$wynik[1];
  9. preg_match('@ctl00_CT_StatsMusic[^>]+>(.*)<@', $tekst, $wynik);
  10. $stats['muzyki']=$wynik[1];
  11. preg_match('@ctl00_CT_StatsVidoes[^>]+>(.*)<@', $tekst, $wynik);
  12. $stats['filmow']=$wynik[1];
  13. preg_match('@ctl00_CT_StatsImages[^>]+>(.*)<@', $tekst, $wynik);
  14. $stats['obrazkow']=$wynik[1];
  15. preg_match('@ctl00_CT_StatsDocs[^>]+>(.*)<@', $tekst, $wynik);
  16. $stats['dokumentow']=$wynik[1];
  17. print_r($stats);
  18. ?>
  19. </pre>
xxxlukasz
Dziękuję bardzo smile.gifsmile.gif
yahoo.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-2025 Invision Power Services, Inc.