Je kan de webpage scrapen.. of hem proberen te analyseren
Als je via de developer tools in je browser de 'network' tab open doet, zie je welke interactie er over de lijn gaat.
Voor fiberklaar zie je dan dat er achterliggend een API gecalled wordt. De URL lijkt wel uniek per adres.
Ik heb eens snel gekeken en mogelijks kan het je op weg zetten:
Adelardstraat 1 in Beringen (geen fiber):
Code: Selecteer alles
https://widget.fiberklaar.be/api/v1/widget/decision/1550921?address=Adelardstraat+1&postalCode=3580
Nieuwstrat 10 in Geel (wel fiber):
Code: Selecteer alles
https://widget.fiberklaar.be/api/v1/widget/decision/1126374?address=Nieuwstraat+10&postalCode=2440
Het stukje achter 'decision' lijkt precies uniek per adres. Een keer je die URL hebt, kan je hem wel gebruiken in je code.
Als headers stuur ik gewoon mee wat mijn browser meestuurt. Hier zit een authorization code in maar die lijkt niet te veranderen (toch niet als ik mijn browser herstart of een andere URL gebruik). Je kan hiervoor een tool als 'Postman' gebruiken of een online variant (bv
Reqbin). Dit moet je uiteindelijk in je code implementeren.
Code: Selecteer alles
Accept: application/json, text/plain, */*
Accept-Encoding: gzip, deflate, br
Accept-Language: en-US,en;q=0.9
Connection: keep-alive
Authorization: 33d276a4ccb300ac30b8336ee50ea67c8b6ac423c30043aaf6d2a07568b1ad96
Host: widget.fiberklaar.be
Locale: nl
Origin: https://www.fiberklaar.be
Referer: https://www.fiberklaar.be/nl/
Sec-Fetch-Dest: empty
Sec-Fetch-Mode: cors
Sec-Fetch-Site: same-site
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36 Edg/114.0.1823.43
X-Requested-With: XMLHttpRequest
sec-ch-ua: "Not.A/Brand";v="8", "Chromium";v="114", "Microsoft Edge";v="114"
sec-ch-ua-mobile: ?0
sec-ch-ua-platform: "Windows"
Response van de API in geval geen fiber:
Code: Selecteer alles
{
"flow": "AddressNotFoundInAC",
"scenario": 8,
"redirect_url": "https:\/\/www.fiberklaar.be\/nl\/adres-niet-gekend-postcode-gekend",
"is_positive": false,
"is_known_in_ac": false,
"is_enabled": false,
"is_orderable": false
}
Response van de API in geval van fiber:
Code: Selecteer alles
{
"flow": "BUILD",
"redirect_url": "https:\/\/www.fiberklaar.be\/nl\/adres-aansluitbaar-bouw",
"secondary_cta_url": "https:\/\/www.fiberklaar.be\/nl\/projecten\/geel-DG0050",
"address": {
"id": 256325,
"tzip": "BE_GV5BA16",
"dhid": "dhid1_0723668402",
"address": "Nieuwstraat 10",
"street": "Nieuwstraat",
"house_number": "10",
"box": "",
"postal_code": "2440",
"municipality": "Geel",
"enable": true,
"orderable": true,
"area": {
"name": "Geel",
"project_page": "https:\/\/www.fiberklaar.be\/nl\/projecten\/geel-DG0050",
"municipal_page_url": "https:\/\/www.fiberklaar.be\/nl\/projecten\/geel",
"number": "Geel-0051",
"planned_status_link": "https:\/\/www.fiberklaar.be\/nl\/adres-aansluitbaar-planned",
"campaign_status_link": "https:\/\/www.fiberklaar.be\/nl\/adres-aansluitbaar-campagne",
"build_status_link": "https:\/\/www.fiberklaar.be\/nl\/adres-aansluitbaar-bouw",
"done_status_link": "https:\/\/www.fiberklaar.be\/nl\/sluit-je-aan",
"status": 4
}
},
"is_positive": true,
"scenario": 9,
"is_known_in_ac": true,
"is_enabled": true,
"is_orderable": true
}
Succes!