wil je helpen? Hier zijn je opties:","Crunchbase","Over ons","Iedereen bedankt voor de geweldige steun!","Snelle links","Affiliate programma","ProxyScrape premie proefversie","Online Proxy checker","Proxy types","Proxy landen","Proxy gebruikscases","Belangrijk","Cookiebeleid","Disclaimer","Privacybeleid","Algemene voorwaarden","Sociale media","Facebook","LinkedIn","Twitter","Quora","Telegram","Discord"," © Copyright 2024 - Thib BV | Brugstraat 18 | 2812 Mechelen | België | BTW BE 0749 716 760"]}
In dit artikel maken we een web scraper om de laatste nieuwsartikelen uit verschillende kranten te scrapen en op te slaan als tekst. We zullen de volgende twee stappen doorlopen voor een diepgaande analyse van hoe het hele proces in zijn werk gaat.
Spring gerust naar een sectie voor meer informatie over het schrapen van nieuwsartikelen met behulp van python
Als we belangrijke informatie van een website of webpagina willen halen, is het belangrijk om te weten hoe die website werkt. Wanneer we naar een specifieke URL gaan met een willekeurige webbrowser (Chrome, Firefox, Mozilla, enz.), is die webpagina een combinatie van drie technologieën,
Met deze drie programmeertalen kunnen we de aspecten van een webpagina maken en manipuleren.
Ik neem aan dat je de basisprincipes van een webpagina en HTML kent voor dit artikel. Sommige HTML-concepten zoals divs, tags, koppen, enz. kunnen erg handig zijn bij het maken van deze webscraper. Je hoeft niet alles te weten, maar alleen de basisprincipes van het ontwerp van een webpagina en hoe de informatie erin staat.
Python heeft verschillende pakketten waarmee we informatie van een webpagina kunnen schrapen. We gaan verder met BeautifulSoup, omdat dit een van de bekendste en eenvoudig te gebruiken Python-bibliotheken voor web scraping is.
BeautifulSoup is het beste in staat om de HTML-inhoud van een URL te parseren en te benaderen met tags en labels. Daarom is het handig om bepaalde stukken tekst uit de website te halen.
Met slechts 3-5 regels code, kunnen we de magie doen en elk type tekst van onze website naar keuze van het internet halen, wat aangeeft dat het een eenvoudig te gebruiken maar krachtig pakket is.
We beginnen bij de basis. Om het bibliotheekpakket te installeren, typt u het volgende commando in uw Python-distributie,
We zullen ook de 'requests module' gebruiken, omdat deze BeautifulSoup voorziet van de HTML-code van elke pagina. Om deze te installeren, typt u het volgende commando in uw Python-distributie,
Met deze requests-module kunnen we de HTML-code van de webpagina halen en er doorheen navigeren met behulp van het BeautfulSoup-pakket. De twee commando's die ons werk een stuk eenvoudiger maken zijn
find_all(element tag, attribuut): Deze functie neemt tag en attributen als parameters en stelt ons in staat om elk HTML-element van een webpagina te vinden. Het zal alle elementen van hetzelfde type identificeren. We kunnen in plaats daarvan find() gebruiken om alleen de eerste te krijgen.
get_text(): Zodra we een gegeven element hebben gelokaliseerd, kunnen we met dit commando de tekst binnenin extraheren.
Om door de HTML-code van onze webpagina te navigeren en de elementen te vinden die we willen scrapen, kunnen we de optie 'element inspecteren' gebruiken door met de rechtermuisknop op de pagina te klikken of gewoon op Ctrl+F te drukken. Hiermee kun je de broncode van de webpagina bekijken.
Zodra we de interessante elementen hebben gevonden, krijgen we de HTML-code met de requests-module en voor het extraheren van die elementen gebruiken we de BeautifulSoup.
Als we de HTML-code van de nieuwsartikelen inspecteren, zien we dat het artikel op de voorpagina een structuur als deze heeft,
The title has <h2> element with itemprop=”headline” and class=”articulo-titulo” attributes. It has an href attribute containing the text. So we will now extract the text using the following commands:
Zodra we de HTML-inhoud krijgen met de requests-module, kunnen we deze opslaan in de coverpage-variabele:
Vervolgens definiëren we de soepvariabele,
In de volgende regel code lokaliseren we de elementen die we zoeken,
Met final_all krijgen we alle occurrences. Daarom moet het een lijst teruggeven waarin elk item een nieuwsartikel is,
Om de tekst te kunnen extraheren, gebruiken we het volgende commando:
Als we de waarde van een attribuut (in ons geval de link) willen opvragen, kunnen we het volgende commando gebruiken,
Hiermee krijgen we de link in platte tekst.
Als je alle concepten tot nu toe hebt begrepen, kun je alle inhoud van je eigen keuze web scrapen.
De volgende stap bestaat uit het benaderen van de inhoud van elk nieuwsartikel met het href attribuut, het ophalen van de broncode om de paragrafen in de HTML-code te vinden en ze uiteindelijk op te halen met BeautifulSoup. Het is hetzelfde proces als we hierboven beschreven, maar we moeten de tags en attributen definiëren die de inhoud van het nieuwsartikel identificeren.
De code voor de volledige functionaliteit wordt hieronder gegeven. Ik zal niet elke regel apart uitleggen, omdat de code is becommentarieerd; je kunt het duidelijk begrijpen door de commentaren te lezen.
Laten we de geëxtraheerde artikelen in het volgende zetten:
Om een betere gebruikerservaring te definiëren, zullen we ook de tijd meten die een script nodig heeft om het nieuws te krijgen. Hiervoor definiëren we een functie die we vervolgens aanroepen. Nogmaals, ik zal niet elke regel code uitleggen, omdat de code is voorzien van commentaar. Voor een duidelijk begrip kun je het commentaar lezen.
Een dedicated datacenter proxy heeft verschillende functies, zoals onbeperkte bandbreedte en gelijktijdige verbindingen, dedicated HTTP proxies voor eenvoudige communicatie en IP-authenticatie voor meer beveiliging. Met 99,9% uptime kunt u er zeker van zijn dat het dedicated datacenter altijd werkt tijdens elke sessie. Last but not least, ProxyScrape biedt een uitstekende klantenservice en zal je helpen om je probleem binnen 24-48 kantooruren op te lossen.
De andere functie van ProxyScrape's residentiële proxy is een roterende functie. Een roterende proxy helpt je een permanente ban op je account te voorkomen omdat je residentiële proxy dynamisch je IP-adres verandert, waardoor het voor de doelserver moeilijk is om te controleren of je een proxy gebruikt of niet.
Afgezien daarvan zijn de andere kenmerken van een residentiële proxy : onbeperkte bandbreedte, samen met gelijktijdige verbinding, toegewijde HTTP/s proxies, proxies op elk moment sessie vanwege 7 miljoen plus proxies in de proxy pool, gebruikersnaam en wachtwoord authenticatie voor meer veiligheid, en last but not least, de mogelijkheid om de landserver te wijzigen. Je kunt de gewenste server selecteren door de landcode toe te voegen aan de gebruikersnaamauthenticatie.
Vervolgens kun je het beste de proxy server wijzigen op basis van het land. Je hoeft alleen maar de ISO_CODE van het land toe te voegen aan het einde van de IP-authenticatie of de authenticatie met gebruikersnaam en wachtwoord.
In dit artikel hebben we de basisprincipes van web scraping gezien door de basisprincipes van het ontwerp en de structuur van webpagina's te begrijpen. We hebben ook praktische ervaring opgedaan met het extraheren van gegevens uit nieuwsartikelen. Web scraping kan wonderen doen als het op de juiste manier wordt gedaan. Er kan bijvoorbeeld een volledig geoptimaliseerd model worden gemaakt op basis van geëxtraheerde gegevens dat categorieën kan voorspellen en samenvattingen kan tonen aan de gebruiker. Het belangrijkste is om je vereisten te achterhalen en de paginastructuur te begrijpen. Python heeft een aantal zeer krachtige en toch eenvoudig te gebruiken bibliotheken voor het extraheren van de gegevens van je keuze. Dat heeft web scraping heel eenvoudig en leuk gemaakt.
Het is belangrijk op te merken dat deze code nuttig is voor het extraheren van gegevens van deze specifieke webpagina. Als we het van een andere pagina willen doen, moeten we onze code optimaliseren volgens de structuur van die pagina. Maar als we eenmaal weten hoe we ze moeten identificeren, is het proces precies hetzelfde.