
Voor een website dat regelmatig overzichten maakt van huizen die in de verkoop staan is een plugin gemaakt dat de data automatisch kopieert - scraped - en in WordPress plaatst.
In eerste instantie was de plugin 100% server-side in Php gemaakt. Er ontstonden echter problemen toen de site waarvan werd gescraped beveiligd werd met een bot-check. Dit blokkeerde de mogelijkheid om automatisch gegevens te importeren.
Na verschillende pogingen dit server-side op te lossen - waaronder het inladen van browsercookies - is er gekozen voor een client-side oplossing: een Chrome extensie.
De Chrome-extensie werkt samen met een custom gebouwde WordPress plugin en werkt als volgt,
Omdat de html client-side uit de tabs wordt gehaald die reeds open staan, hoeft de data niet nogmaals te worden opgevraagd, dus kan worden gescraped zonder tegen de bot-check aan te lopen.
Een proof-of-concept van deze opzet was in een ochtend gemaakt. Het doorontwikkelingen naar een volledige plugin had een doorlooptijd van +- 2 dagen.
In eerste instantie was de plugin 100% server-side in Php gemaakt. Er ontstonden echter problemen toen de site waarvan werd gescraped beveiligd werd met een bot-check. Dit blokkeerde de mogelijkheid om automatisch gegevens te importeren.
Na verschillende pogingen dit server-side op te lossen - waaronder het inladen van browsercookies - is er gekozen voor een client-side oplossing: een Chrome extensie.
De Chrome-extensie werkt samen met een custom gebouwde WordPress plugin en werkt als volgt,
- de Chrome-extensie bekijkt welke tabs open staan
- de gebruiker geeft in WordPress op basis van de openstaande browser-tabs aan welke huizen er geïmporteerd moeten worden
- bij het importeren wordt de html client-side opgehaald via de Chrome-extensie
Omdat de html client-side uit de tabs wordt gehaald die reeds open staan, hoeft de data niet nogmaals te worden opgevraagd, dus kan worden gescraped zonder tegen de bot-check aan te lopen.
Een proof-of-concept van deze opzet was in een ochtend gemaakt. Het doorontwikkelingen naar een volledige plugin had een doorlooptijd van +- 2 dagen.