Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] Wyciaganie danych z adresu strony www
Forum PHP.pl > Forum > Przedszkole
gosc1985
Witam.
Chcialbym sie dowiedziec, czy istnieje taka mozliwosc, iz w skrypcie php wpisuje funkcje, ktorej podaje adres url strony, w ktorej ma znalezc tabelke i wyciagnac z niej informacje.

Nie wiem, czy to co napisalem jest zrozumiale. Chodzi o to, ze mam strone, na ktorej chce umiescic tylko czesc strony (nie mojej)... chodzi o pewna tabelke. Czy jest tak mozliwosc? Jakas funkcja w php?

Pozdrawiam
nospor
To nie takie proste, żeby to jedną funkcją php zalatwić. Musisz wysłać żadanie do strony tak jakbyś był przeglądarką, odebrać to co ci zwróci i potem sobie musisz znaleźć to co chcesz (czyli swoją tabelkę).
Był kiedyś na forum podoby przykład, ale gdzie i kiedy to nie jestem wstanie ci powiedzieć. Poszukaj może znajdziesz

edit:
musialem odpoczac od roboty wiec troche poguglalem biggrin.gif
znalazlem pewna klase. Masz link do download:
http://www.phpclasses.org/browse/package/3...ml?download=zip

moje przykladowe użycie:
  1. <?php
  2. include('clsHtmlSource.php');
  3. $hs = new HtmlSource();
  4. $hs->host=&#092;"www.interia.pl\";
  5. $hs->page=&#092;"index.html\";
  6. echo $hs->getSource();
  7.  
  8. ?>

może sobie z tego wyciagniesz co ci potrzeba.
Wyswietla to bodajze strone glowną z interii

edit2:znowu sie nudzilem i znalazlem kod, który kiedyś uzywalem:
  1. <?php
  2.  
  3. function posttohost($host,$method, $path,$http_version='HTTP/1.1')
  4. {
  5.     $results = '';
  6.        $fp = fsockopen($host, 80, $errno, $errstr, 30);
  7.        if(!$fp)
  8.     {
  9.            return false;
  10.     }    
  11.     $header=&#092;"$method $path $http_versionrn\";
  12.     $header.= &#092;"Host: $hostrn\";
  13.     $header.= &#092;"Accept: application/pdf,text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,image/jpeg,image/gif;q=0.2,*/*;q=0.1rn\";
  14.     $header.= &#092;"Accept-Language: en,en-us;q=0.7,pl;q=0.3rn\";
  15.     $header.= &#092;"Accept-Charset: ISO-8859-1,ISO-8859-1,utf-8;q=0.7,*;q=0.7rn\";
  16. //    $header.= \"Keep-Alive: 300rn\";
  17.  //   $header.= \"Connection: keep-alivernrn\";
  18.     $header.= &#092;"Connection: Closernrn\";
  19.     fputs($fp,$header);
  20.  
  21.     while(!feof($fp))
  22.             $results.= fgets($fp, 2048);
  23.  
  24.     fclose($fp);
  25.     if($headpos=strpos($results,&#092;"rnrn\"))
  26.        {
  27.         $headpos+=4;
  28.         $header=substr($results,0,$headpos);
  29.            $body=substr($results,$headpos);
  30.         return $body;
  31.     }
  32.     return FALSE;
  33. }
  34.  
  35. //i użycie
  36. $body=posttohost('www.interia.pl', 'GET', 'index.html');
  37. if ($body==false)
  38.     echo &#092;"Cos sie nie powiodlo\";
  39. else
  40.  echo $body;
  41.  
  42.  
  43. ?>
siker
Witam

Szukalem wlasnie po sieci podobnego kodu. Mam pytanie, czy da sie wykorzystac ten kod do wyszukania czy na stronie znajduje sie konkretny link??

Bylbym bardzo wdzieczny za pomoc.

A jesli ktos mialby ochote napisac caly programik jaki mnei interesuje to zaplace.
nospor
Oczywiście że się da. W moim ostatnim przykladzie w $body masz treść strony (html). Wystarczy teraz to przeszukać pod kątem Twojego linku.

pozdro
-=Eter=-
Możesz spróbować wysłać do google zapytanie w postaci "link:www.strona.pl site:www.strona2.pl" co oznacza, że na www.strona2.pl ma szukać linka do www.strona.pl, chociaż sam nie wiem czy to do końca zadziała tongue.gif
Pozdrawiam
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.