Web scraping en R : points importants à garder à l'esprit
Lorsque vous décidez de vous lancer dans le web scraping avec R, il y a certains points que vous devez bien comprendre.
- Comprendre les principes fondamentaux du web scraping et du HTML
Pour le web scraping avec R, vous devez d'abord apprendre et comprendre les principes fondamentaux du web scraping et du HTML. Vous devez apprendre à accéder au code HTML via le navigateur et vous familiariser avec tous les concepts sous-jacents du HTML et des langages de balisage. Cela vous mettra assurément sur la bonne voie pour extraire des données.
Une fois ces bases acquises, le scraping avec R deviendra beaucoup plus facile que vous ne le pensez. Voici les éléments suivants qui vous aideront dans votre travail de scraping Web avec R.
Depuis qu'elle a été proposée pour la première fois par Tim Berners-Lee à la fin des années 80, l'idée d'une plateforme de documents [le World Wide Web] reliés entre eux via le HTML constitue le fondement de chaque page web et du web lui-même. Lorsque vous saisissez l'adresse d'un site dans le navigateur, celui-ci télécharge et affiche la page.
Mais comment procéder exactement au web scraping avec R ? Eh bien, avant toute chose, vous devez d'abord comprendre comment la page web est structurée et de quoi elle est composée. Vous constaterez qu'une page web présente de belles images et des couleurs attrayantes, mais que le document HTML sous-jacent est de nature essentiellement textuelle.
Le document HTML est la représentation technique d'une page web, car il indique aux navigateurs quels éléments HTML afficher et comment les afficher exactement. Le document HTML est un élément que vous devez analyser et comprendre si vous souhaitez extraire avec succès des données d'une page web.
Lorsque vous examinez le code HTML, vous rencontrerez des éléments tels que <title>, </title>, <body>, </body>, et bien d’autres encore. On les appelle des balises HTML ; ce sont des marqueurs spéciaux dans le document HTML. Toutes ces balises ont une fonction importante, et chacune d’entre elles est interprétée différemment par le navigateur web.
Par exemple, « <title> » fournit au navigateur le titre de la page Web, tandis que « <body> » lui fournit le contenu principal de la page. De plus, les balises sont généralement des marqueurs d'ouverture et de fermeture qui contiennent du contenu entre elles, ou bien elles se ferment d'elles-mêmes. Mais le type de structure qui s'ensuit dépend fortement du cas d'utilisation et du type de balise.
Les balises sont également accompagnées d’attributs qui fournissent des données et des informations HTML supplémentaires pertinentes pour la balise HTML à laquelle elles appartiennent. Une fois que vous aurez acquis une bonne connaissance du concept principal du fichier HTML, des tableaux HTML, de l’arborescence du document, des balises et des éléments HTML spécifiques, toutes les parties qui vous intéressent vous paraîtront beaucoup plus claires.
Alors, quelle est la principale conclusion à retenir ici ? Eh bien, la page HTML est considérée comme un format structuré associé à une hiérarchie de balises, que le robot d'indexation utilisera dans le projet de web scraping pour extraire toutes les informations nécessaires.
- Analyser une page Web avec le langage R
Il est maintenant temps de procéder au web scraping d'une page web cible avec R. N'oubliez pas une chose : vous ne ferez qu'effleurer la surface du contenu HTML ; vous n'extrairez donc pas les tableaux de données, mais afficherez simplement le code HTML complet.
Ainsi, si vous souhaitez extraire tous les éléments d'une page Web et vérifier leur apparence, vous devez utiliser redLines() pour cartographier toutes les lignes du contenu HTML dans un environnement de développement afin d'en produire une représentation.
Vous devez maintenant afficher « flat_html », et la console R vous montrera les résultats dont vous avez besoin, qui ressembleront à ceci :
Source de l'image :
Gardez bien une chose à l'esprit : le scraping de sites web se fait uniquement pour le plaisir, et tous les experts en science des données en sont bien conscients. Ce sera sans aucun doute une expérience passionnante, et vous pouvez facilement extraire plusieurs pages d'un site web, comme le site IMDB, sur votre système d'exploitation.
Que vous extraiez la première page ou une seule page d’un site web, si vous le faites correctement, l’opération sera réussie. Même si l’extraction de fichiers HTML peut vous donner un résultat impressionnant, il ne s’agit pas d’un document HTML. En effet, la fonction redLines() lit correctement le document mais ne tient pas compte de sa structure.
Mais il ne s'agit là que d'une illustration pour vous montrer à quoi ressemble exactement le scraping de navigateurs web via la méthode de scraping web en R. Le code réel sera bien plus complexe. Il existe toutefois une liste de bibliothèques disponibles qui simplifieront considérablement le travail de scraping web en R.