Devenez un as du webscraping python et javascript

Introduction au webscraping

La récupération de données par internet est quasiment aussi vielle que la création d'internet. Bien que l’utilisation du terme webscraping soit relativement récente, on se souvient des autres noms qui le définissaient. Les plus connus ont été le screen scraping, le data mining ou encore le web harvesting.

Au cours de ce voyage, notre connaissance se fera de plus en plus technique pour arriver à un niveau d'expertise suffisamment important pour travailler dans le domaine (ceux qui le souhaite)

On commencera ce voyage au travers des plugin chrome tels que instant data scraper et webscraper.io

L'objectif de commencer à scraper au travers de ces outils c’est se donner la possibilité d'entrevoir la pluralité des secteurs touchés par le webscraping et les logiques qui en découlent. Ainsi que les difficultés que l'on devra surmonter.

Pyquery

Crée pour ressembler à JQuery, Pyquery est une librairie python qui a pour objectif de rendre le webscraping hyper simple. Aussi simple que la sélection d'éléments HTML dans le DOM avec JQuery

On utilisera Pyquery le plus souvent pour effectuer des scrapers rapides. Au travers de fichiers html ou de pages web relativement simples

Beautiful Soup

Beautiful soup est aussi une libraire python relativement simple. Mais contrairement à Pyquery sa documentation est bien plus importante. Beautiful soup possède aussi une très grande variété de tutoriels qui vont nous permettre d'aller assez loin.

La librairie beautiful soup est souvent utilisée pour faire du scripting très simple ou sur des projets ambitieux.

Mais on verra pourquoi des outils comme scrapy ou pupetter sont à privilégier quand on travaille sur des programmes d'envergure

Requests-Html

Quand on fait du scraping, une problématique de plus en plus récurrente c'est la récupération de données au travers de sites codés en javascript.

Malheureusement les outils comme Beautiful soup ou pyquery ne sont pas fait pour ça. 

Et heureusement que des librairies comme requests html sont arrivées pour "render" du javascript ; )

Scrapy

Scrapy est un framework de scraping permettant d’analyser des sites Web et d’extraire des données structurées pouvant être utilisées pour une vaste gamme d’applications utiles, telles que l’exploration de données, le traitement de l’information ou l’archivage historique.

Bien que Scrapy ait été conçu à l'origine pour webscraping, il peut également être utilisé pour extraire des données à l'aide d'API  ou en tant que robot d'indexation Web à usage général.

Pour faire du webscraping sur du js on uttilisera splash ou des middlwares spécifiques.

Pypetteer

Port python non officiel de la bibliothèque d'automatisation de pupetter de JavaScript.

Pupetteer / JS

Puppeteer est une bibliothèque de nœuds qui fournit une API de haut niveau pour contrôler Chrome ou Chromium via le protocole DevTools.
Puppeteer exécute des instances headless de Chrome ou Chromium par défaut, raison pour laquelle elles sont toujours mentionnées en tandem.

La plupart des choses que vous pouvez faire manuellement dans le navigateur peuvent être effectuées avec Puppeteer!
Puppeteer a été conçu pour Chrome par l'équipe de Google Chrome DevTools dans le but de faciliter les tests de navigateur automatisés / sans interface graphique et de le rendre moins pénible pour le reste d'entre nous.

Le plus gros inconvénient est que Puppeteer ne fonctionne qu'avec Chrome.

Ton avis nous intéresse !

Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.
  • Nos Tutoriels :