Informatie uit andere website tonen
Ik wil graag de beschikbaarheid tonen van bijvooreeld onderstaande websites op mijn eigen website.
Website #1 [www.voorbeeld1.nl/huisje-aan-het-water]
Website #2 [www.voorbeeld2.nl/huisjes/huisjeaanhetwater]
Website #3 [www.voorbeeld3.nl/beschikbaarheid-huisjes/huisje-aan-het-water]
Ergens halverwege wordt op deze url's de beschikbaarheid getoond in een widget-vorm
Ik wil al deze beschikbaarheden gaan bundelen in één website. Al deze websites bieden dus hetzelfde “huisje” aan. Ik zou graag netjes in mijn bericht de beschikbaarheid van de beschikbare aanbieders willen tonen.
Ik heb wat geprobeerd om dit met wp_remote_request voor elkaar te krijgen maar daar is mijn PHP kennis niet goed genoeg voor ben ik bang.
Wie kan mij een beetje op weg helpen? Ik hoef geen kant en klaar script maar een beetje simpel uitgelegd welke stappen er nu nodig zijn om dit voor elkaar te krijgen wat ik wil? Mijn website is overigens gemaakt in Wordpress.
Is het uberhaupt mogelijk om deze beschikbaarheden te tonen op mijn website zonder enige vorm van authenticatie met de servers van de aanbieders?
Gewijzigd op 28/09/2017 21:46:27 door Perry luickx
Heb je toestemming van de eigenaren van deze sites?
Je kan met file_get_contents de inhoud van de URL ophalen, en vervolgens kan je met DOMdocument prima door je HTML-tree navigeren tot je het juiste element hebt die je wilt pakken.
Vervolgens is het vergelijken of deze gelijk is aan "Beschikbaar" of iets in die trant.
Het gehele geheel giet je vervolgens in een mooie plugin: https://codex.wordpress.org/Writing_a_Plugin
Gewijzigd op 28/09/2017 21:48:37 door - Ariën -
Ik zie het een beetje als het "Trivago" concept, maar dan veeel kleinschaliger. Ik wil alleen de aanbieders zo min mogelijk opzadelen met het aanpassen van hun code, of het creëren van een api.
Er zijn in Nederland maar maximaal 5 aanbieders. Hiervan pak ik in eerste instantie de top 3 om de beschikbaarheid te willen vergelijken.
Ik denk dat het iets te hoog gegrepen is om dit zelf te gaan doen op korte termijn. Wellicht dat ik iemand kan vinden in het aanbieders/gezocht topic. En me ondertussen zelf erin kan gaan verdiepen.
Het nadeel van HTML scrapen is dat het mis kan gaan wanneer de layout/content van een webpagina verandert. een simpele api kan dit nadeel oplossen.
Precies. Als je het in overleg doet zou ik zorgen dat je API toegang krijgt. HTML scrapen is een erg slecht idee.
Ik ben al een beetje bezig geweest maar helaas krijg ik niet de output die ik zou willen. Hierbij is "abCalendar_26" de div id welke ik wil tonen op mijn pagina.
script:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
2
3
4
5
6
7
8
9
10
11
<?php
$url = 'URL van de pagina';
$pagina = file_get_contents($url);
$doc = new DOMDocument();
$doc->loadHtml($pagina);
$beschikbaarheid = explode("\n", trim($doc->getElementById('abCalendar_26')->nodeValue))[0];
echo $beschikbaarheid;
?>
$url = 'URL van de pagina';
$pagina = file_get_contents($url);
$doc = new DOMDocument();
$doc->loadHtml($pagina);
$beschikbaarheid = explode("\n", trim($doc->getElementById('abCalendar_26')->nodeValue))[0];
echo $beschikbaarheid;
?>
Gewijzigd op 30/09/2017 11:34:57 door - Ariën -
Daar komt bij dat ze verstandig zouden zijn om een API aan te bieden, en jij aan jouw kant een cache laag aanlegt van say 10 minuten met de mogelijkheid voor de cache om stale te zijn zodat je er geen last van hebt als hun website onbereikbaar is.
Ze kunnen desnoods gewoon een tekstdocumentje voor je neerzetten, het hoeft geen full fledged API te zijn immers.