Archief - Informatie van externe website halen

Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.

Kilroy

Legacy Member
Ik zou voor een website van een voetbalploeg, informatie (klassement) van de website van de kbvb moeten halen. Jammer genoeg is er geen rechtstreekse link naar deze informatie (voor zover ik kan zien) en moet ik steeds via een formulier gaan, nl. e-kickoff (dit is maar een voorbeeld, mijn site is niet voor anderlecht ;).
Nu vroeg ik mij af of er een makkelijke manier is om in php dit formulier automatisch in te vullen en het klassement er daarna automatisch uit op te slaan in mijn database, zodat ik dit kan gebruiken op mijn website. Heb al wat geprobeerd in cURL, maar daar geraak ik ook niet wijzer uit. Als iemand een manier weet om rechtstreeks naar een klassement te linken is dit natuurlijk ook goed (en veel makkelijker :)).
Alvast bedankt.

Kilroy

Legacy Member
Ok, ben er met cURL in geslaagd om al mijn post waardes door te geven (was makkelijker dan ik dacht), maar nu krijg ik om één of andere reden alleen maar de uitslagen en nog geen volledig klassement :(

Senn0

Legacy Member
Kilroy zei:
Ok, ben er met cURL in geslaagd om al mijn post waardes door te geven (was makkelijker dan ik dacht), maar nu krijg ik om één of andere reden alleen maar de uitslagen en nog geen volledig klassement :(

Wat krijg je dan juist als resultaat?

Kilroy

Legacy Member
een zeer gebrekkige html-pagina waar op het eerste zicht random gegevens van weg zijn, de uitslagen krijg ik nog allemaal, maar de table (die ineens ook in gewone <p> tags staat) waarin het klassement zou moeten zitten stopt net voor de eerste rij zou moeten beginnen (de "tabelheaders" krijg ik nog wel t.e.m. "Ptn"), daarna heb ik gewoon veel lege rijen en dan die "# milisec" regel

http://oi44.tinypic.com/21n37ro.jpg

Kilroy

Legacy Member
Heb er enkele foutjes kunnen uithalen, en nu haalt hij alle data op behalve het klassement. Kan het zijn dat dit klassement op een andere manier gegenereerd wordt waardoor cURL deze niet kan zien? Ik ben niet echt bekend met de manier waarop cURL exact te werk gaat.

Disa

Legacy Member
Ik heb het net even geprobeerd via de commandline en het klassement wordt hier netjes gereturned hoor. Misschien kijk je ergens over?
Code:
curl -d"selectedSerPlus_id=PCC37664" \
-d"KBVB_datumvan_dag=20" \
-d"KBVB_datumvan_maand=11" \
-d"KBVB_datumvan_jaar=2011" \
-d"KBVB_datumtot_dag=04" \
-d"KBVB_datumtot_maand=12" \
-d"KBVB_datumtot_jaar=2011" \
-d"LANG=N" -d"secid=988" \
-d"matricule=00035" \
-d"useCssNewFootbel=intern-pages" \
-d"command=Bekijken" "http://extranet.e-kickoff.com/kbvb_publiek/kalender.do" > kbvb.html

Elke -d optie is een parameter die meegegeven wordt.

Kilroy

Legacy Member
lijkt me hetzelfde te zijn als ik heb, behalve misschien de hoofdletter bij "Bekijken". Kan het wel morgen pas bekijken. Alvast bedankt!

Kilroy

Legacy Member
Werkt nog steeds niet. Maar aan mijn parameters lijkt me alleszins niets fout.

Code:
<?php
 
$ch = curl_init(); 
	
curl_setopt($ch, CURLOPT_URL, 'http://extranet.e-kickoff.com/kbvb_publiek/kalender.do'); 

curl_setopt($ch, CURLOPT_POST, true);
	
curl_setopt($ch, CURLOPT_POSTFIELDS, array(
'selectedSerPlus_id' => 'PCC37664',
'wat' => 'data',
'KBVB_datumvan_dag' => '01',
'KBVB_datumvan_maand' => '11',
'KBVB_datumvan_jaar' => '2011',
'KBVB_datumtot_dag' => '30',
'KBVB_datumtot_maand' => '11',
'KBVB_datumtot_jaar' => '2011',
'enkel' => 'test',
'LANG' => 'N',
'secid' => '988',
'matricule' => '00035',
'useCssNewFootbel' => 'intern-pages',
'command' => 'Bekijken'
));
//stuur de gegevens uit het formulier door naar de link
		
curl_exec($ch);

$info = curl_getinfo($ch);
echo 'Took ' . $info['total_time'] . ' seconds to send a request';
	
curl_close($ch);

?>

Iemand die een fout ziet? Heb echt al bijna alles geprobeerd, maar dat klassement blijft maar niet verschijnen. :(

Kilroy

Legacy Member
Het lag dus aan curl zelf blijkbaar. Heb het nu op een andere manier gedaan en werkt perfect nu. Voor de geïnteresseerden:

Code:
<?php

$url="http://extranet.e-kickoff.com/kbvb_publiek/kalender.do";

$postdata = http_build_query(
    array(
    'selectedSerPlus_id' => 'PCC37725',
	'wat' => 'data',
	'KBVB_datumvan_dag' => '01',
	'KBVB_datumvan_maand' => '09',
	'KBVB_datumvan_jaar' => '2011',
	'KBVB_datumtot_dag' => '30',
	'KBVB_datumtot_maand' => '08',
	'KBVB_datumtot_jaar' => '2012',
	'enkel' => 'test',
	'LANG' => 'N',
	'secid' => '1657',
	'matricule' => '03880',
	'useCssNewFootbel' => 'intern-pages',
	'command' => 'Bekijken'
    )
);

$opts = array('http' =>
    array(
        'method'  => 'POST',
        'header'  => 'Content-type: application/x-www-form-urlencoded',
        'content' => $postdata
    )
);

$context  = stream_context_create($opts);

$result = file_get_contents($url, false, $context);

echo $result;

?>

Dit daarna gewoon nog even parsen, en je hebt alle data van je ploeg die je nodig hebt. Zonder ooit zelf een score te moeten ingeven :)
Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.
Terug
Bovenaan