Data uit html-bron ophalen met PHP

Status
Niet open voor verdere reacties.

Acario

Gebruiker
Lid geworden
28 jul 2010
Berichten
5
Hallo iedereen,

Ik zou graag data (tekst) van één van mijn websites willen importeren naar een andere.

De data staat als <p> in een lijst-element li (met class="eerste") in een lijst ul (met class="lijst"), welke weer in een div (met id="inhoud") staat.

Kortom, de path is dus: div#inhoud > ul.lijst > li.eerste > p.

Hiertoe wil ik middels een script als volgt te werk gaan:
- de html-bron opvragen van de pagina,
- de bovenstaande path volgen en die data in een variabele opslaan.

Ik heb dit met de functies loadHTML en getElementById via het DOMDocument geprobeerd. Dat leek mij het meest praktische.

Maar ik kreeg al snel foutmeldingen met de server (URL file-access is uitgeschakeld bij mijn webhost, ze willen het i.v.m. beveiliging ook niet aanzetten).

Toen werd mij aangeraden om cURL te gebruiken.

Zo gezegd zo gedaan, ik ben nu zover dat ik de pagina in een variabele $pagina heb opgeslagen.
PHP:
<?php
$ch = curl_init();
$timeout = 5; // instellen op nul voor geen timeout
curl_setopt ($ch, CURLOPT_URL, 'www.eenbepaaldewebsite.nl');
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
$file_contents = curl_exec($ch);
curl_close($ch);
$pagina = $file_contents;
//echo $pagina;
?>

Maar het volgen van de path naar de benodigde data... dat lukt me maar niet (ik weet namelijk niet hoe!)

Het is volgens mij na $pagina slechts nog een kwestie van een beetje PHP.... maar daar ben ik evenmin sterk in :rolleyes:

Is er iemand die meer verstand heeft van cURL en PHP en me ALSJEBLIEFT kan helpen met het bovengenoemde?
 
Ik zou als ik jou was gebruik maken van simpleXML om de pagina te laden, dan kun je gewoon door de nodes heenlopen en de goeie opzoeken :)

Maareh, als de andere site ook van jezelf is, is het dan niet handiger om de content op een makkelijkere plek te zetten dan in een website? Je zou bijv. de content ook in een text file kunnen zetten en dan beide sites gewoon die text file laten lezen om de data te verkrijgen.

Volgensmij is dat veel makkelijker... afhankelijk van waar de tekst op de andere site vandaan komt :P
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan