Home > Digitale technologieën > AI en big data > Web scraping: hoe je automatisch gegevens van het web haalt

Web scraping: hoe je automatisch gegevens van het web haalt

Gepubliceerd op 4 juli 2023
Deel deze pagina :

Met webscraping kunt u automatisch gegevens van internet verzamelen voor concurrentie-informatie, leadgeneratie, ontwikkeling van marketing- en verkoopstrategieën en meer. U moet nog steeds weten welke instrumenten u moet gebruiken en welk juridisch kader deze praktijk beheerst. Wij leggen je alles uit. 

Illustratie webartikel schrapen

Het internet is een onschatbare bron van gegevens. Wat als u deze schat aan informatie gratis zou kunnen exploiteren? Dit is wat ‘webscraping’ biedt, een effectieve techniek voor het snel en geautomatiseerd verzamelen van webgegevens. Nooit meer handmatig kopiëren en plakken. Veel tools voeren deze taak automatisch uit en verwerken duizenden stukjes gegevens in een paar seconden. Elke oplossing heeft zijn sterke en zwakke punten. Sommige vereisen dat je weet hoe je moet coderen, andere niet.

Wat is het punt ? Voor wie ?

De sectoren die het meest gebruik maken van webscraping zijn de sectoren die veel data verwerken: e-commerce, financiën, sociale media, vastgoed, pers, wetenschap, enz. In deze sectoren zijn de beroepen die er het meest gebruik van maken marketing, financiën , HR, SEO-specialisten en datawetenschappers.

Zodra de gegevens zijn verzameld, kunnen bedrijven deze gebruiken om hun concurrentie-intelligentie aan te wakkeren of hun eigen database tegen lage kosten te verrijken. Dit zijn de belangrijkste toepassingen:

  • Monitor prijzen en beschikbaarheid van producten en diensten om concurrentie-informatie uit te voeren of markttrends te analyseren.
  • Genereer leads door automatisch de namen, voornamen, functies en contactgegevens van professionals op te halen van LinkedIn, Twitter, Google Maps, Indeed, etc.
  • Optimaliseer de SEO van een site: zijn positie in de zoekresultaten en zijn positionering ten opzichte van zijn concurrenten monitoren.
  • Analyseer online sentiment door klantrecensies en opmerkingen op sociale netwerken te bekijken.
  • Automatisch links controleren. Dit is vooral handig in een partnerstrategie om ervoor te zorgen dat links niet verbroken of verouderd zijn.
  • Vacatures monitoren of verzamel informatie over potentiële kandidaten van vacaturesites of sociale netwerken
  • Datasets bouwen om een AI te trainen
  • Controleer op schendingen van het auteursrecht (plagiaat van afbeeldingen of teksten)
  • Verzamel informatie over een specifiek onderwerp. Bijvoorbeeld het uitvoeren van een automatische persrecensie van artikelen en innovaties in de batterijproductie.

Hoe het werkt ?

Bij web scraping wordt een scraper gebruikt, een softwareprogramma dat informatie van websites haalt. De scraper interageert met de sites op dezelfde manier als een browser gemanipuleerd door een mens. Maar in plaats van de informatie weer te geven, wordt deze verzameld en opgeslagen voor latere analyse. Dit proces bestaat uit vier stappen:

  1. HTTP-verzoek : de scraper stuurt een verzoek naar de doel-URL om de inhoud van een pagina te verkrijgen.
  2. Analyse van HTML-code : de schraper identificeert de elementen die betrekking hebben op de gezochte gegevens.
  3. data-extractie : gegevens worden geëxtraheerd met behulp van selectors zoals XPath, CSS of reguliere expressies (regex).
  4. data opslag: de informatie wordt vastgelegd in formaten die kunnen worden gebruikt voor analyse (Excel, CSV, JSON, enz.).

Hoe webscrapen te doen?

Voor ontwikkelaars

Ontwikkelaars zijn de meesters van scrapen. Dankzij programmeertalen die verband houden met frameworks en bibliotheken die gespecialiseerd zijn in data-extractie, kunnen ze scrapers maken die perfect zijn aangepast aan de beoogde website en de te extraheren gegevens. Efficiëntie, schaalbaarheid en onderhoudbaarheid zijn hun sleutelwoorden.

Welke taal verdient de voorkeur? Als JavaScript (Node.js), Ruby, C, C++, R of PHP webscraping toestaan, Python heeft zich grotendeels gevestigd zijn laatste jaren dankzij twee tools, BeautifulSoup (een bibliotheek) en Scrapy (een raamwerk).  

Gemakkelijk te leren, snel en draagbaar (Linux, Windows, macOS en BSD), Python en zijn twee complementen stellen u in staat elk webscraping-project uit te voeren.

Hier is een voorbeeld van een Python-programma dat de BeautifulSoup-bibliotheek gebruikt om alle prijzen van elektrische scheerapparaten op Amazon.fr-pagina's op te halen.

webscrapen met Python en prachtige soep

Voor niet-ontwikkelaars

Hoewel ontwikkelaars altijd het voordeel hebben dat ze de meest efficiënte webschrapingtools kunnen maken die het beste aansluiten bij de behoeften van hun gebruikers, hebben ze er niet langer het monopolie op. Dus, niet-IT-professionals, of ze nu in marketing, financiën of HR werken, maken steeds vaker gebruik van webscraping, maar zonder codering. Hiervoor gebruiken ze no-code-tools die de afgelopen jaren zijn verschenen. Hier zijn een paar.

Browser-extensies

Dit is de eenvoudigste methode om webscraping aan te pakken zonder codering: installeer een extensie in uw webbrowser. Deze plug-ins zijn gratis en gemakkelijk te gebruiken en werken allemaal op dezelfde manier: eenmaal op de doelsite selecteert u de elementen die u wilt ophalen (tekst, afbeeldingen, URL's, enz.), de frequentie (eenmaal per uur, per week). Dag of week, bijvoorbeeld) en de extensie zorgt voor de rest. Een van de bekendste zijn Webschraper, Simplescraper, Scraper, Agenty of Instant Data Scraper.  

De Web Scraper-extensie voor Chrome en Firefox
Met de Web Scraper-extensie kunt u de elementen kiezen die u wilt herstellen (productnaam, prijs, afbeelding, enz.) door een eenvoudige selectie met de muis.

Webscraping-platforms

Een andere oplossing waarvoor geen programmeerkennis vereist is: gebruik een van de vele platforms die webscraping-services aanbieden, zoals Octoparse, Bright Data, Parsehub of PhantomBuster. Met deze tools kunt u – na inschrijving – gegevens verzamelen van internet, maar ook van sociale platforms zoals Facebook, Instagram, Twitter, YouTube, enz. U kunt informatie opvragen over hashtags, vermeldingen, opmerkingen en likes. Deze gegevens kunnen worden gebruikt om trends en prestaties van marketingcampagnes te analyseren.

Een modesite scrappen met PArseHub

Met behulp van een web scraping platform, in dit geval ParseHub, kunnen we de te verwerken gegevens selecteren (in dit geval de kledingcategorieën van een e-commerce site), extraheren en interpreteren. De onderstaande tabel analyseert de gemiddelde prijzen per productcategorie en fabrikant.

Prijsstructuur met ParseHub

Het grote voordeel van deze platforms is dat ze no-code oplossingen bieden, die 24/7 in de cloud opereren. U kunt de scrapers dus plannen om de gegevens in een continue stroom of met flexibele intervallen op te halen. Nog een voordeel: u heeft de keuze uit tientallen kant-en-klare schrapermodellen, waarmee u met slechts een paar klikken de populairste sites en platforms kunt targeten. Eindelijk, Deze cloudplatforms omzeilen veel van de beveiligingen die websites hebben ingesteld om te beschermen tegen webscraping IP-rotatie, captcha's, proxy's, oneindig scrollen, enz.

Toepassingen gegevensanalyse

Google Spreadsheets, PowerBI, Excel…spreadsheets en datavisualisatietoepassingen maken het mogelijk om min of meer eenvoudig gegevens van het web te extraheren.

Soms moet u specifieke functies gebruiken. Dit is het geval voor Google Spreadsheets met gespecialiseerde functies: IMPORTXML en IMPORTHTML. U moet nog steeds de structuur van een HTML-pagina begrijpen om de formule correct te formaliseren en uw doelen te bereiken.

Excel, Microsoft 365 en Power BI hebben gespecialiseerde gegevensextractiemodules die eenvoudiger te implementeren zijn. Excel gebruikt bijvoorbeeld de Power Query-module (sinds Excel 2010) of een webquery-module uit het menu Data. Microsoft 365 profiteert op zijn beurt van de kracht van de automatiseringsmodule Power Automate. De Power BI-oplossing voor gegevensanalyse, nog steeds van dezelfde uitgever, bevat web scraping in het menu Get Data. Al deze wizards stellen automatisch voor om de tabellen op te halen die aanwezig zijn op de beoogde webpagina's, maar het is mogelijk om andere gegevensbronnen te definiëren.

Webscrapen met Microsoft Power Query
Power BI haalt eenvoudig gegevens van internet op en geeft deze weer in tabellen en grafieken. ©Microsoft

De opkomst van AI

De democratisering van kunstmatige intelligentie, met name generatieve AI zoals ChatGPT, Bing Conversation of Bard, is een gamechanger. Dankzij dit type AI is het eenvoudig om extreem snel informatie van internet of pdf-bestanden op te halen. Deze AI’s hebben echter het nadeel dat ze algemeen zijn en niet gemakkelijk gegevens in gestructureerde formaten kunnen exporteren.

Hiervoor is het noodzakelijk om toevlucht te nemen tot AI gespecialiseerd in webscraping zoals Scrapestorm, kadoa.com, Nimbleway API of Browse.ai. Oplossingen vanaf zo’n twintig euro per maand.

Met dergelijke AI is programmeren niet nodig. Definieer eenvoudigweg de gegevens die moeten worden opgehaald (prijzen bijvoorbeeld), een of meer gegevensbronnen (een of meer websites) en specificeer de frequentie waarmee de gegevens moeten worden opgehaald (bijvoorbeeld elke week).

De AI zorgt voor al het andere: maak een programma dat is geconfigureerd volgens uw keuzes, extraheer de gegevens en verzend deze naar u in het formaat dat u hebt gedefinieerd (Excel, CSV, JSON, enz.).  

Naast hun gebruiksgemak, efficiëntie en snelheid zijn deze webscraping-AI's in staat elk type gegevens (tekst, afbeeldingen, video's, links en andere bestanden) te herkennen en te herstellen. Bovendien worden ze niet geblokkeerd door dynamische pagina's of de gebruikelijke beveiligingstools die door gerichte sites worden geïmplementeerd, zoals captcha's of het blokkeren van IP-adressen.

Wat zijn de grenzen van webscraping?

Webscraping draagt grotendeels bij aan de verspreiding van bots, deze softwarerobots die het internet doorzoeken op zoek naar gegevens. Het wordt zelfs een invasieve soort. Dat blijkt uit een onderzoek van het Amerikaanse cybersecuritybedrijf Imperva bots vertegenwoordigden 47 % van het internetverkeer in 2022 !

Technische limieten

Onder al deze bots bevinden zich kwaadaardige programma's, maar ook webscraping-bots die de servers waarop ze zich richten, overmatig exploiteren. Ze vermenigvuldigen de verzoeken, waardoor hun prestaties afnemen en soms zelfs zo ver gaan dat ze crashen. Een nachtmerrie voor elke systeembeheerder!

Nog een ongelukkig gevolg, dit keer voor marketing: dit niet-menselijke verkeer verstoort de publieksmetingen van de beoogde websites en brengt daarom de digitale marketingstrategie van het bedrijf in gevaar.

De verdediging begint zich echter te organiseren. Om zichzelf tegen deze invasie te beschermen, gebruiken steeds meer sites verschillende technische oplossingen om bots te verbieden : captcha-puzzels om gebruikers te vragen te bewijzen dat ze menselijk zijn, verbod op IP-adressen, automatische beperking van het aantal verzoeken afkomstig van hetzelfde IP-adres, enz.

Een andere oplossing is om de structuur van de pagina's die worden weergegeven te compliceren en regelmatig te wijzigen:

  • verander de URL-architectuur (verander de volgorde van parameters),
  • HTML-code bewerken (klassenamen en ID's wijzigen, volgorde van DOM-elementen wijzigen)
  • rotatie van sjablonen (als uw site een CMS heeft, kunt u verschillende paginasjablonen maken en deze roteren)
  • de code verduisteren (minificatie, verduistering van namen van variabelen en functies, inhoud laden met JavaScript, gegevens coderen)
  • wissel de datastructuur af (CSV, JSON, enz.)
  • verander de API-structuur als uw site er een biedt

Met al deze wijzigingen moeten de code of instellingen van de scraping-oplossing worden bijgewerkt om hieraan tegemoet te komen, waardoor zowel de effectiviteit als de waarde ervan afnemen.

Wettelijke grenzen   

Zoals elke techniek voor gegevensverzameling is scraping onderworpen aan de Franse en Europese regelgeving, maar ook aan de algemene gebruiksvoorwaarden (CGU) die specifiek zijn voor elke website.

Aan het gebruik van webscraping zijn daarom drie voorwaarden verbonden:

1. Respecteer de algemene voorwaarden van de gegevensbronsite

In de algemene voorwaarden verbiedt LinkedIn webscraping formeel:  

“U gaat ermee akkoord geen software, apparaten, scripts, robots of andere middelen of processen (inclusief spiders, browserplug-ins en add-ons of enige andere technologie) te ontwikkelen, ondersteunen of gebruiken die bedoeld zijn om de Services te webscrapen of anderszins profielen en andere gegevens van de Diensten kopiëren”

Het schenden van deze AVG stelt de overtreder bloot aan sancties. Ze negeren is gevaarlijk, vooral omdat steeds meer grote platforms tools introduceren om web scraping te detecteren.  

2. Voldoe aan de AVG

Naast het respecteren van de Algemene Voorwaarden, moet de webschraper deze ook respecteren AVG, van toepassing op elke gegevensverwerking. EIn geval van niet-naleving kan het bedrag aan sancties oplopen tot 20 miljoen euro of, in het geval van een bedrijf, tot 4% van de wereldwijde jaaromzet.

3. Respecteer het auteursrecht

Databases worden beschermd door auteursrecht en door een recht sui generis (op zichzelf staand) dat de producent beschermt (artikelen L. 112-3 en L. 341-1 van de Franse wet op intellectueel eigendom). De maximale straffen die bij overtreding kunnen worden opgelegd, zijn een boete van 300.000 euro en 3 jaar gevangenisstraf..

Justitie oordeelde dus op 2 februari 2021 in het voordeel van de site Leboncoin.fr waarvan de vastgoedadvertenties het onderwerp waren van gegevensextractie door een concurrerende site.

Naast het wettelijke kader moeten bepaalde goede praktijken worden gerespecteerd:

  • Oefen met webscrapen buiten de spitsuren van de site, wanneer servers beter beschikbaar zijn;
  • Beperk herstelde gegevens tot wat u echt nodig heeft ;
  • Gebruik API's en andere middelen (datasets, enz.) die door de beoogde site worden aangeboden om te voorkomen dat u uw toevlucht neemt tot webscraping.

Web scraping betekent het regelmatig bijwerken van je vaardigheden

Ondanks de technische en juridische uitdagingen blijft webscraping populair. Het is een geweldig hulpmiddel voor het automatisch verzamelen van gegevens. ORSYS biedt tal van face-to-face trainingen of trainingen op afstand aan om een van de oplossingen te gebruiken die we u hebben gepresenteerd.

Ontwikkelaars en datawetenschappers (data-analist, data-ingenieur, enz.) zal kunnen trainen in big data, met behulp van Python-bibliotheken die gespecialiseerd zijn in webscraping (scrapy, BeautifulSoup, Selenium, enz.).

We bieden ook trainingen aan om te leren hoe u de verzamelde gegevens kunt opschonen en manipuleren.

Webontwikkelaars, CISO's en systeembeheerders Mogelijk bent u geïnteresseerd in onze websitebeveiligingstraining om webscraping en gegevensdiefstal te voorkomen.  

CIO's, Dpostbus en advocaten onze trainingen kunt volgen om de juridische vraagstukken van de AVG onder de knie te krijgen.

Tenslotte, niet-computerwetenschappers Wie bij professioneel gebruik wil profiteren van webscraping, kan terecht bij onze Excel-, Google Spreadsheets- of Power BI-trainingen.

Iedereen zal zijn account vinden.

Onze expert

De redactie van ORSYS Le mag bestaat uit journalisten die gespecialiseerd zijn in IT, management en persoonlijke ontwikkeling [...]

geassocieerd domein

bijbehorende opleiding