Andere pagina uitlezen

Status
Niet open voor verdere reacties.

janusss

Gebruiker
Lid geworden
21 okt 2006
Berichten
91
Hey,

Ik ben op zoek naar een manier om stukjes text uit een pagina, waar ik zelf niet aan kan automatisch uit te lezen met php. De data die ik uit deze pagina wil halen verandert constant...

Iemand een idee?

bedankt
 
Je zou mbv "file_get_contents()" de inhoud van de betreffende pagina op kunnen vragen.

Daarna kan je de data die jij wil er uitfilteren, door (zelf) in de broncode te kijken en de omliggende html-tags op te zoeken. In je PHP-code kan je dan de tekst tussen deze tags ophalen en tonen. Dit is _een_ manier, er zijn vast nog andere...


Echter, wanneer de andere website iets aan hun layout / opmaak o.i.d. wijzigt, zal jij dat ook in je script door moeten voeren.
Beter is het inlezen van de zogeheten RSS-feeds, deze zijn volgens een standaard opmaak opgebouwd, wat het uitlezen dan ook erg makkelijk maakt (en wat ook altijd blijft werken)!
Wellicht heeft die website RSS-feeds beschikbaar? :)
 
Zelf heb ik deze gebruikt om een tabel van een site te halen.

PHP:
/ Created by Tha Devil
// Helpmij.nl Forum
function getLine($page, $keyword, $pattern) {
  foreach ($page as $line_num => $line) {
    if(strstr($line, $keyword)){
      if(ereg($pattern, $line, $output)){
        $result = $line_num;
      }
    }
  }
  return $result;
}
// URL van de pagina die je wilt doorzoeken
$url = "http://west.basketball.nl/db/wedstrijd/stand.pl?cmp_ID=365&szn_Naam=2007-2008&LVactie=Selecteren";
// Naar welk begindeel moeten we zoeken?
$search1 = '<FONT SIZE="5"  class="msg" >';

// Naar welk einddeel moeten we zoeken?
$search2 = 'ALT="Standen verloop" >';
// Wat moeten we van die regel opnemen?
// Het patroon maakt gebruik van reguliere expressies
$pattern = '.*';

//Wijzigen op eigen risico
$lines = file($url);
$begin = getLine($lines, $search1, $pattern);
$end = getLine($lines, $search2, $pattern);

for($i=$begin; $i < $end; $i++) {
  echo $lines[$i];
}
?>
Deze neemt dus hele HTML code mee, wil je dat niet dan moet je op het einde echo strip_tags($lines[$i]);
gebruiken
 
Dit is wat ik zocht, bedankt.

Ik laat iets horen als ik het geimplementeerd heb en zal de link posten.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan