donker proxyscrape logo

Web scrapen: Do's en Don'ts

Schrapen, 02-02-20225 min gelezen

Web scraping or web data extraction is an automated process of collecting data from a website. Businesses use web scraping to benefit themselves by making smarter decisions from the vast amount of publicly available data. They can extract data in an organized form so that it can be easier to analyze. Web scraping has many

Inhoudsopgave

Web scraping of web data extraction is een geautomatiseerd proces om gegevens van een website te verzamelen. Bedrijven gebruiken web scraping om hun voordeel te doen door slimmere beslissingen te nemen op basis van de enorme hoeveelheid publiek beschikbare gegevens. Ze kunnen gegevens in een georganiseerde vorm extraheren zodat ze gemakkelijker te analyseren zijn. Web scraping heeft vele toepassingen. Het kan bijvoorbeeld worden gebruikt voor het monitoren van prijzen van concurrenten in de wereld van e-commerce. Bedrijven kunnen hun prijsstrategieën verfijnen door de prijzen van de producten en diensten van hun concurrenten te controleren en zo hun voorsprong te behouden. Verder kunnen marktonderzoeksorganisaties de stemming onder klanten peilen door feedback en online productbeoordelingen bij te houden.

Over het algemeen omvat het schrapen van het web de volgende stappen.

  • De doelwebsite identificeren 
  • De URL's verzamelen van de pagina's waarvan de gegevens moeten worden geëxtraheerd
  • Een verzoek doen aan deze URL's om de HTML-pagina op te halen
  • Locators gebruiken om de gegevens in de HTML-pagina te verzamelen
  • De gegevens opslaan in een gestructureerd formaat zoals een CSV- of JSON-bestand

Waar wordt web scraping voor gebruikt?

Hieronder staan enkele van de use cases van web scraping.

Marktonderzoek - Marktonderzoek is essentieel en moet worden aangedreven door de meest nauwkeurige gegevens die beschikbaar zijn. Organisaties kunnen goed marktonderzoek doen en het klantsentiment peilen als ze beschikken over hoog volume, hoge kwaliteit en inzichtelijke web scraped data. De marktanalisten kunnen de volgende taken uitvoeren met web scraping.

  • Onderzoek en ontwikkeling
  • Concurrentiemonitoring
  • Marktprijzen 
  • Trendanalyse van de markt

Makelaardij - Makelaars in onroerend goed kunnen weloverwogen beslissingen nemen op de markt door geschraapte webgegevens op te nemen in hun dagelijkse werkzaamheden. Ze voeren de volgende taken uit door de geschraapte gegevens van verschillende websites te gebruiken.

  • Schatting van huurrendementen
  • De marktrichting begrijpen
  • Taxatie van eigendomswaarde
  • Leegstand controleren

Inhoud en nieuwsmonitoring - Web scraping is de ultieme oplossing om de kritieke verhalen uit de sector te monitoren, te verzamelen en te analyseren als een bedrijf vaak in het nieuws komt of afhankelijk is van tijdige nieuwsanalyses. Organisaties kunnen web scraping gebruiken voor het volgende.

  • Concurrentiemonitoring
  • Sentimentanalyse bij het publiek
  • Politieke campagnes
  • Besluitvorming over investeringen

Minimum Advertised Price (MAP) Monitoring - MAP-monitoring zorgt ervoor dat de online prijzen van merken overeenkomen met hun prijsbeleid. Het is onmogelijk om de prijzen handmatig te controleren omdat er veel verkopers en distributeurs zijn. Daarom kun je het geautomatiseerde web scraping proces gebruiken om de prijzen van de producten in de gaten te houden.

Web scraping do's

Je moet de gegevens voorzichtig van het web halen omdat je de werking van de website kunt schaden wanneer je gegevens schrapt. Daarom moet je je bewust zijn van alle do's van web scraping.

Zelfidentificatie - Het is een goede gewoonte om jezelf te identificeren wanneer je gegevens van het web schraapt. De doelwebsite kan je webcrawler blokkeren als je de identificatieregel niet volgt. Je moet je contactgegevens in de header van de crawler zetten. De systeembeheerders of webmasters kunnen gemakkelijk toegang krijgen tot de informatie van de crawler en je op de hoogte stellen van problemen met je crawler.

IP-rotatie - Veel websites hebben anti-scrapingmechanismen gebruikt om hun websites te beschermen tegen kwaadaardige aanvallen. Als je het basismechanisme van web scraping niet kent, kun je direct geblokkeerd worden door de websites. De website kan je ook blokkeren als je hetzelfde IP-adres gebruikt voor elke aanvraag. Daarom moet je een nieuw IP gebruiken om meerdere verzoeken naar de doelwebsite te sturen. Hiervoor kun je proxies gebruiken, omdat zij je identiteit verbergen voor de website-eigenaren en je een pool van IP-adressen toewijzen. Je kunt dus meerdere aanvragen naar de website sturen met verschillende IP-adressen zonder geblokkeerd of verboden te worden.

Inspectie van robots.txt - Als je aan web scraping wilt doen, moet je het robots.txt-bestand nauwkeurig inspecteren. De robots.txt is een bestand dat de zoekmachines laat weten welke bestanden ze wel en niet mogen crawlen met bots. Bijna elke website heeft dit bestand, dus je kunt de regels van web scraping uit dit bestand halen. Het robots.txt-bestand bevat belangrijke informatie over het aantal verzoeken dat per seconde mag worden verzonden en de pagina's die mogen worden bezocht.

CSS Hooks - Je kunt CSS-selectors gebruiken om de HTML-elementen op webpagina's te vinden en er gegevens van te verzamelen. Wanneer je een element selecteert, probeert de web scraper de CSS selector voor de geselecteerde elementen te raden. Je kunt de CSS-selectors gebruiken die beschikbaar zijn in jQuery en degene die beschikbaar zijn in CSS-versies 1-4 (ondersteund door de browser). 

Web Scraping Don'ts

De don'ts van web scraping worden hieronder gegeven.

Belast de website niet - U mag de website waarvan u de gegevens schraapt niet beschadigen. Soms kan de frequentie en het volume van de verzoeken de webserver belasten. U kunt proberen toegang te krijgen tot de gegevens van de doelwebsite via één IP; anders kunt u proxies gebruiken die u verschillende IP-adressen kan geven als u toegang wilt krijgen tot de gegevens van meerdere pagina's.

Overtreed de General Data Protection Regulation niet - Je mag geen gegevens van EU-burgers extraheren in strijd met de GDPR, omdat dit onwettig is. Met de invoering van GDPR zijn de geschraapte gegevens van EU-burgers volledig veranderd en aangepast. De waardevolle varianten die de gegevens kunnen beschrijven zijn naam, nummer, leeftijd, e-mail, contact, IP-adres, enz. 

Gebruik geen onbetrouwbare technieken - Je kunt miljoenen internettools en trucs gebruiken om alle beveiligingsprotocollen van een website met een paar muisklikken te omzeilen. Maar webbeheerders kunnen uw trucs gemakkelijk detecteren en meestal misleiden ze u door uw trucs te omzeilen. Ze kunnen je blokkeren als ze een activiteit opmerken die hun website kan schaden. Daarom moet je je houden aan de tools en services die de reputatie van de doelwebsite hoog houden.

Hammer de site niet - Er is een groot verschil tussen het detecteren van live veranderingen op een website en het uitvoeren van een Denial of Service (DOS) aanval. Als webscraper moet je weten dat je een kleine vertraging hebt tussen de verzoeken. De website zal je regelmatige verzoeken detecteren en je IP blokkeren als het een IDS-infrastructuur heeft. 

Proxies voor web scrapen

Je weet dat proxies fungeert als tussenpersoon of server van derden tussen de client die de aanvraag verstuurt en de server die de aanvraag ontvangt. Ze zijn essentieel voor web scraping omdat ze gegevens efficiënt extraheren en de kans verkleinen dat ze worden geblokkeerd. Proxies voorziet je van een aantal IP-adressen zodat je meerdere verzoeken naar de doelwebsite kunt sturen met verschillende IP-adressen zonder geblokkeerd te worden. Je kunt ook toegang krijgen tot de geo-beperkte inhoud van websites met behulp van proxies. 

Kortom, proxies is nuttig voor web scraping om de volgende twee redenen.

  • Ze verbergen het IP-adres van de bronmachine voor de doelwebsite.
  • Ze helpen om voorbij de tarieflimieten op de doelwebsite te komen.

Je kunt de volgende verschillende types van proxies kiezen voor web scraping.

Datacenter IP's - Dit zijn de server IP-adressen die worden gehost in datacenters. 

residentiële IP's - Deze zijn duurder dan datacenter IP's en zijn de IP-adressen van privéhuishoudens. Je kunt ze gebruiken om je aanvraag door te sturen via een residentiële netwerk.

Mobiele IP's - Dit zijn de IP's van privé mobiele apparaten. De kosten van mobiele IP-adressen zijn te hoog in vergelijking met andere IP-adressen.

Proxy Integratie

Je kunt je proxies integreren in bestaande web scraping software met behulp van de volgende stappen.

  • Geef de verzoeken van de web scraper door aan de proxy
  • Draai de IP-adressen van de proxy server goed tussen verzoeken

De eerste stap is eenvoudig, want je hoeft alleen maar de requests-module van Python te importeren en de URL van de proxy verbinding door te geven. Vervolgens moet je het get-verzoek naar de doelwebsite sturen, zoals in de onderstaande stappen wordt weergegeven.

import requests

proxies = {'http': 'http://user:[email protected]:3128/'}

requests.get('http://example.org', proxies=proxies)

De tweede stap is een beetje ingewikkeld en hangt af van hoeveel parallelle verwerking je op een bepaald moment doet en hoeveel marge je wilt houden met de snelheidslimiet van de doelwebsite.

Conclusie

Met web scraping kun je gegevens verzamelen van een website van derden en deze gebruiken volgens jouw behoeften. Het is super krachtig voor zoekmachine resultaatoptimalisatie, E-commerce prijsmonitoring, leadgeneratie en nieuwsaggregatie. Web scraping is niet zo eenvoudig omdat je rekening moet houden met specifieke do's en don'ts bij het verzamelen van gegevens van een website. Je moet de gegevens van een website halen op een manier die de site niet schaadt en de gegevens niet verandert. Proxies Het is heel handig om gegevens van websites te halen, omdat ze je identiteit verbergen en voorkomen dat je gebanned of geblokkeerd wordt. U kunt een residentiële proxy of een datacenter proxy gebruiken, afhankelijk van uw behoeften.