191 votes

Raclage de sites Web avec Python

J'aimerais récupérer les heures quotidiennes de lever et de coucher du soleil sur un site web. Est-il possible de gratter du contenu web avec Python ? Quels sont les modules utilisés ? Y a-t-il un tutoriel disponible ?

5 votes

Python dispose de plusieurs options pour le scraping web. J'ai énuméré certaines de ces options aquí en réponse à une question similaire.

0 votes

Pourquoi ne pas simplement utiliser l'analyseur HTML intégré à la bibliothèque standard de Python ? Certainement pour une tâche aussi simple et peu fréquente (juste une fois par jour), je ne vois guère de raison de chercher d'autres outils. docs.python.org/2.7/library/htmlparser.html

0 votes

J'espère que cet article pourra être utile à quelqu'un à ce sujet. Un bon tutoriel pour un débutant. samranga.blogspot.com/2015/08/web-scraping-beginner-python.html Il utilise la belle bibliothèque python de soup pour le scraping web avec python.

0voto

Chris D'mello Points 95

Python dispose de bonnes options pour gratter le web. La meilleure avec un framework est scrapy . Cela peut être un peu délicat pour les débutants, voici donc un peu d'aide.
1. Installez python à partir de la version 3.5 (les versions inférieures jusqu'à 2.7 fonctionnent).
2. Créez un environnement dans conda ( je l'ai fait).
3. Installez scrapy à un endroit et exécutez-le à partir de là.
4. Scrapy shell vous donnera une interface interactive pour tester votre code.
5. Scrapy startproject projectname va créer un cadre.
6. Scrapy genspider spidername va créer une araignée. Vous pouvez créer autant d'araignées que vous le souhaitez. En faisant cela, assurez-vous d'être dans le répertoire du projet.

Le plus simple est d'utiliser demande y belle soupe . Avant de commencer, donnez une heure de votre temps pour parcourir la documentation, cela résoudra la plupart de vos doutes. BS4 offre une large gamme de parsers que vous pouvez choisir. Utilisez user-agent y sleep pour faciliter le grattage. BS4 renvoie une balise bs.tag, il faut donc utiliser variable[0] . Si js est en cours d'exécution, vous ne serez pas en mesure de gratter en utilisant directement les requêtes et bs4. Vous pouvez obtenir le lien de l'API et analyser le JSON pour obtenir les informations dont vous avez besoin. selenium .

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X