Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [php] wyciąganie kilku informacji ze strony
xxxlukasz
post 18.05.2010, 09:35:00
Post #1





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 23.08.2006

Ostrzeżenie: (0%)
-----


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ą?
Go to the top of the page
+Quote Post
varez
post 18.05.2010, 12:12:39
Post #2





Grupa: Zarejestrowani
Postów: 275
Pomógł: 32
Dołączył: 17.06.2007

Ostrzeżenie: (0%)
-----


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ę..
Go to the top of the page
+Quote Post
xxxlukasz
post 18.05.2010, 22:07:04
Post #3





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 23.08.2006

Ostrzeżenie: (0%)
-----


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

Ten post edytował xxxlukasz 18.05.2010, 22:07:46
Go to the top of the page
+Quote Post
varez
post 18.05.2010, 22:17:06
Post #4





Grupa: Zarejestrowani
Postów: 275
Pomógł: 32
Dołączył: 17.06.2007

Ostrzeżenie: (0%)
-----


  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>
Go to the top of the page
+Quote Post
xxxlukasz
post 18.05.2010, 22:53:48
Post #5





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 23.08.2006

Ostrzeżenie: (0%)
-----


Dziękuję bardzo smile.gifsmile.gif
yahoo.gif
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 14.08.2025 - 07:08