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 ?
Réponse
Trop de publicités?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
.
- Réponses précédentes
- Plus de réponses
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.