Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [php]Czytanie danych ze strony....
szosti90
post
Post #1





Grupa: Zarejestrowani
Postów: 44
Pomógł: 0
Dołączył: 19.10.2006

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


Mój problem polega na tym: potrzebuje skryptu który będzie czytał level postaci ze strony

http://www.tibia.com/community/?subtopic=c...cters&name=Sir%20Rockiy

Chce aby czytało zawartość ze strony chodzi tu o level.

Level ma być wyświetlany na mojej stronie (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
E -dd
post
Post #2





Grupa: Zarejestrowani
Postów: 71
Pomógł: 0
Dołączył: 18.12.2006
Skąd: Warszawa

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


Użyj funkcj file_get_contents i preg_match (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
szosti90
post
Post #3





Grupa: Zarejestrowani
Postów: 44
Pomógł: 0
Dołączył: 19.10.2006

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


a tak dokładniej jakto zrobić (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) Może macie jakiś gotowy skrypt
Go to the top of the page
+Quote Post
Babcia@Stefa
post
Post #4





Grupa: Zarejestrowani
Postów: 654
Pomógł: 17
Dołączył: 19.03.2006
Skąd: z kosmosu ;)

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


Cytat(E -dd @ 22.01.2007, 17:01:25 ) *
Użyj funkcj file_get_contents i preg_match (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)


A może dokładniej wyjaśnisz? (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif)
Też przy okazji by mogło mi się przydać.
Ja poradziłbym sobie gdyby np. tak by był tekst:
Name: ....
Ale jak są tabele to troche gorzej jest...

@edit
Jednak z tabelami nie jest tak źle (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif)

Dziękuję, Babcia@Stefa

Ten post edytował Babcia@Stefa 23.01.2007, 19:56:55
Go to the top of the page
+Quote Post
szosti90
post
Post #5





Grupa: Zarejestrowani
Postów: 44
Pomógł: 0
Dołączył: 19.10.2006

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


jak tego użyć (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif)
Go to the top of the page
+Quote Post
Cienki1980
post
Post #6





Grupa: Przyjaciele php.pl
Postów: 1 590
Pomógł: 40
Dołączył: 11.01.2007
Skąd: Centrum

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


Dokładnie tak jak piszą w manualu:
http://pl.php.net/manual/pl/function.file-get-contents.php
Pobierasz całą strone ( czyli kod html'owy w tym przypadku ) przez wpisanie adresu.

Obrabiasz otrzymanego string'a albo przez http://pl.php.net/manual/pl/function.preg-match.php albo siłowo za pomocą :
- obcięcia części którą wiesz, że możesz odrzucić.
- wyszukania charakterystycznego tekstu ( w tym przypadku Name )
- tak długo obcinanie tekstu aż do uzyskania satysfakcjonującego rezultatu.
Go to the top of the page
+Quote Post
szosti90
post
Post #7





Grupa: Zarejestrowani
Postów: 44
Pomógł: 0
Dołączył: 19.10.2006

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


ja nie jestem raczej zaawansowany. Mógł byś podać przynajmniej głupi przykład jak to powinnow wyglądać (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) To jest tekst na kilkanaście linijek (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
Cienki1980
post
Post #8





Grupa: Przyjaciele php.pl
Postów: 1 590
Pomógł: 40
Dołączył: 11.01.2007
Skąd: Centrum

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


Ale tu nie ma co pisać. Jako argument do funkcji file_get_contents podajesz adres strony którą chcesz wyciągnąć.
Zmienna której przypiszesz wynik działania funkcji będzie zawierała cały kod tej strony czyli to co zobaczysz jak podejrzysz źródło strony.

Jak będziesz miał źródło strony za pomocą odpowiednich funkcji będziesz mógł je odpowiednio podocinać powyciągać odpowiednie dane.

Nie będę pisał przykładu, bo będziesz starał się na siłe go przystosować do swoich potrzeb. Lepiej jak zaczniesz kombinować sam.
Go to the top of the page
+Quote Post
szosti90
post
Post #9





Grupa: Zarejestrowani
Postów: 44
Pomógł: 0
Dołączył: 19.10.2006

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


ja nie wiem jak odczytać ten kod
Go to the top of the page
+Quote Post
Cysiaczek
post
Post #10





Grupa: Moderatorzy
Postów: 4 465
Pomógł: 137
Dołączył: 26.03.2004
Skąd: Gorzów Wlkp.




Czego nie umiesz? Użyć jednej z podstawowych i dobrze opisanych w manualu funkcji php?
  1. <?php
  2. $kod_tej_strony=file_get_contents("http://itakdalejitakdalej.com");
  3. ?>


Po prostu czekasz na gotowca, albo żeby Cię ktoś za rączkę prowadził w najprostszych sprawach.? : /
Go to the top of the page
+Quote Post
szosti90
post
Post #11





Grupa: Zarejestrowani
Postów: 44
Pomógł: 0
Dołączył: 19.10.2006

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


znalazłem coś takiego, to są statystyki radia internetowego. Może to da się przerobić. To pilne
  1. <center>
  2. <?
  3.  $sc[czas]  =  180;
  4.  $sc[host]  =  "playcast.eu";
  5.  $sc[port]  =  1122;
  6. $sc[template]  =  " <font size="1" face="Verdana, Arial, Helvetica, sans-serif" color="white">Zasilanie:<b> [status]</b><br>Stacja:<b>[dj]</b><br>Prowadzi:<b> [genre] </b><br>Slucha:<b> [ile] osób</b><br>";
  7. #  $sc[template]  =  "<b>Status (on/off/err) :</b> [status]<br><b>GG DJ-a:</b> [gg]<br><b>Dj:</b> [genre]<br><b>Ilu sluchaczy aktualnie/maksymalnie/peak:</b> [ile]/[max]/[peak]<br>";
  8.  
  9.  
  10.  
  11.  
  12. ?>
  13. <html>
  14. <head>
  15. <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-2">
  16. <META HTTP-EQUIV="Refresh" CONTENT="<?=$sc[czas]?>; URL="">
  17. </head>
  18. <body background="gfx/menu_right_tlo1.GIF">
  19. <?
  20. if($fp = @fsockopen($sc[host], $sc[port]))
  21. {
  22. fputs($fp,"GET /index.html HTTP/1.0rnUser-Agent: XML Getter (Mozilla Compatible)rnrn");
  23. fgets($fp);fgets($fp);fgets($fp);
  24.  while(!feof($fp)) $in.=strip_tags(fgets($fp));
  25. fclose($fp);
  26. # echo $in;
  27.  
  28. // [status]
  29.  $m[0]="Server is currently";
  30.  $m[1]="";
  31.  $mp[0]=strpos($in,$m[0]);
  32.  $mp[1]=@strpos($in,$m[1]);
  33.  $ml[0]=strlen($m[0]);
  34.  $ml[1]=strlen($m[1]);
  35.  
  36.  $tmp[1]=explode( " " , trim( substr( $in , $mp[0] + $ml[0] , 5 ) ) );
  37.  
  38.  if( $tmp[1][0] == "up" )
  39.  $dat[status] = "on";
  40.  elseif( $tmp[1][0] == "down" )
  41.  $dat[status] = "off";
  42.  else
  43.  $dat[status] = "err";
  44.  
  45.  if($dat[status]=="on")
  46.  {
  47.  // [dj]
  48.  $m[0]="Stream Title:";
  49.  $m[1]="Content Type:";
  50.  $mp[0]=strpos($in,$m[0]);
  51.  $mp[1]=strpos($in,$m[1]);
  52.  $ml[0]=strlen($m[0]);
  53.  $ml[1]=strlen($m[1]);
  54.  
  55.  $tmp[1]=trim( substr( $in , $mp[0] + $ml[0] , $mp[1]-$mp[0]-$ml[1] ) );
  56.  
  57.  if( $tmp[1] ) $dat[dj] = $tmp[1];
  58.  else $dat[dj] = "err";
  59.  
  60.  // [gg]
  61.  $m[0]="Stream AIM:";
  62.  $m[1]="Stream IRC:";
  63.  $mp[0]=strpos($in,$m[0]);
  64.  $mp[1]=strpos($in,$m[1]);
  65.  $ml[0]=strlen($m[0]);
  66.  $ml[1]=strlen($m[1]);
  67.  
  68.  $tmp[1]=trim( substr( $in , $mp[0] + $ml[0] , $mp[1]-$mp[0]-$ml[1] ) );
  69.  
  70.  if( $tmp[1] ) $dat[gg] = $tmp[1];
  71.  else $dat[gg] = "err";
  72.  
  73.  // [genre]
  74.  $m[0]="Stream Genre:";
  75.  $m[1]="Stream URL:";
  76.  $mp[0]=strpos($in,$m[0]);
  77.  $mp[1]=strpos($in,$m[1]);
  78.  $ml[0]=strlen($m[0]);
  79.  $ml[1]=strlen($m[1]);
  80.  
  81.  $tmp[1]=trim( substr( $in , $mp[0] + $ml[0] , $mp[1]-$mp[0]-$ml[1]-) );
  82.  
  83.  if( $tmp[1] ) $dat[genre] = $tmp[1];
  84.  else $dat[genre] = "err";
  85.  
  86.  // [ile]
  87.  $m[0]="kbps with";
  88.  $m[1]="listeners";
  89.  $mp[0]=strpos($in,$m[0]);
  90.  $mp[1]=strpos($in,$m[1]);
  91.  $ml[0]=strlen($m[0]);
  92.  $ml[1]=strlen($m[1]);
  93.  
  94.  $tmp[1]=explode( " " , trim( substr( $in , $mp[0] + $ml[0] , $mp[1]-$mp[0]-$ml[1]-) ) );
  95.  
  96.  if( $tmp[1] ) $dat[ile] = $tmp[1][0];
  97.  else $dat[ile] = "err";
  98.  
  99.  // [max]
  100.  $m[0]="kbps with";
  101.  $m[1]="listeners";
  102.  $mp[0]=strpos($in,$m[0]);
  103.  $mp[1]=strpos($in,$m[1]);
  104.  $ml[0]=strlen($m[0]);
  105.  $ml[1]=strlen($m[1]);
  106.  
  107.  $tmp[1]=explode( " " , trim( substr( $in , $mp[0] + $ml[0] , $mp[1]-$mp[0]-$ml[1]-) ) );
  108.  
  109.  if( $tmp[1] ) $dat[max] = $tmp[1][2];
  110.  else $dat[max] = "err";
  111.  
  112.  // [peak]
  113.  $m[0]="Listener Peak:";
  114.  $m[1]="Average";
  115.  $mp[0]=strpos($in,$m[0]);
  116.  $mp[1]=strpos($in,$m[1]);
  117.  $ml[0]=strlen($m[0]);
  118.  $ml[1]=strlen($m[1]);
  119.  
  120.  $tmp[1]=trim( substr( $in , $mp[0] + $ml[0] , $mp[1]-$mp[0]-$ml[1]-7) );
  121.  
  122.  if( $tmp[1] ) $dat[peak] = $tmp[1];
  123.  else $dat[peak] = "err";
  124.  
  125.  
  126.  
  127.  }
  128. }
  129. else
  130. {
  131.  $dat=array();
  132.  $dat[status]="err";
  133. }
  134.  
  135. $co  =  array('[status]','[dj]','[genre]','[ile]','[max]','[peak]','[leci]');
  136. $naco  =  array($dat[status],$dat[dj],$dat[genre],$dat[ile],$dat[max],$dat[peak],$dat[leci]);
  137. $sc[template]  =  str_replace($co,$naco,$sc[template]);
  138.  
  139. echo $sc[template];
  140. ?>
  141. </font>
  142. </body>
  143. </html>
Go to the top of the page
+Quote Post
Cienki1980
post
Post #12





Grupa: Przyjaciele php.pl
Postów: 1 590
Pomógł: 40
Dołączył: 11.01.2007
Skąd: Centrum

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


A może byś jednak spróbował sam napisać coś od podstaw. Z tego kodu nie ma co przerabiać bo nie ma to najmniejszego sensu.

Uwierz nam na słowo to nie jest trudne i nikt Ci raczej gotowca nie napisze bo nie taki jest cel.

Powtarzam raz jeszcze:
- używasz funkcji get_file_contents()
- otrzymany kod obrabiasz ... zaraz zapytasz się jak.
Wejdź na tę stronę z której chcesz wyciągnać dane i podejrzyj źródło ( oto mała podpowiedź: kliknij prawym przyciskiem myszy i wybierz opcję "Pokaż źródło"). Dokładnie takie samo coś otrzymasz w wyniku działania funkcji. Popatrz na to i zobacz, które dane musisz usunąć, żeby zostawić tylko to co potrzebujesz.
Za pomocą prostych funkcji php dokonasz tego "czyszczenia" kodu i bingo. Masz czego pragniesz.
Go to the top of the page
+Quote Post
maryaan
post
Post #13





Grupa: Zarejestrowani
Postów: 380
Pomógł: 2
Dołączył: 5.01.2007

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


no stary nie przeginaj zeby xerowac jakis megaskrypt po to zeby wyciagnac pare znakow tekstu. W zrodle strony jak byk masz
  1. <TD>Level:</TD><TD>74</TD>
to nie wiem w czym problem, wytsarczy MINIMUM checi i poczytanie tego watku jeszcze raz od poczatku...

Ten post edytował maryaan 23.01.2007, 15:42:15
Go to the top of the page
+Quote Post
szosti90
post
Post #14





Grupa: Zarejestrowani
Postów: 44
Pomógł: 0
Dołączył: 19.10.2006

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


to to ja wiem jak znaleźć i to w kodzie strony ale ja nie wiem jak wywołać ten kod
Go to the top of the page
+Quote Post
Cienki1980
post
Post #15





Grupa: Przyjaciele php.pl
Postów: 1 590
Pomógł: 40
Dołączył: 11.01.2007
Skąd: Centrum

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


Ile razy jeszcze będziemy pisać nazwę funkcji file_get_contents() (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif)

Podajesz tam adres i w wyniku otrzymujesz kod strony.
Go to the top of the page
+Quote Post
Babcia@Stefa
post
Post #16





Grupa: Zarejestrowani
Postów: 654
Pomógł: 17
Dołączył: 19.03.2006
Skąd: z kosmosu ;)

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


@edit
Ja już zakapowałem jak to zrobić (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif)
To bardzo proste (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)

Dziękuję, Babcia@Stefa

Ten post edytował Babcia@Stefa 5.02.2007, 11:46:30
Go to the top of the page
+Quote Post
szosti90
post
Post #17





Grupa: Zarejestrowani
Postów: 44
Pomógł: 0
Dołączył: 19.10.2006

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


to jak wie ktos jak to zrobić (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif)
Go to the top of the page
+Quote Post
Cienki1980
post
Post #18





Grupa: Przyjaciele php.pl
Postów: 1 590
Pomógł: 40
Dołączył: 11.01.2007
Skąd: Centrum

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


Tak wiemy jak to zrobić i wszyscy czekamy aż Ty w końcu też zrozumiesz o co w tym chodzi i jakie to proste jest.
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 5.10.2025 - 19:38