Le Web scraping est une compétence essentielle pour les développeurs qui ont besoin de collecter efficacement des données sur le Web. Dans ce didacticiel, nous allons parcourir un simple script Python pour extraire les titres d'articles d'un site Web d'actualités à l'aide de BeautifulSoup, une bibliothèque puissante pour analyser HTML et XML.
À la fin de ce didacticiel, vous disposerez d'un script qui extrait et affiche les titres des articles d'une page Web en quelques lignes de code seulement !
Avant de plonger dans le code, assurez-vous que Python est installé sur votre système. Vous aurez également besoin des bibliothèques suivantes :
Vous pouvez installer ces bibliothèques en utilisant pip :
pip install requests beautifulsoup4
Disons que vous souhaitez suivre les dernières nouvelles d'un site Web comme BBC News. Au lieu de visiter le site manuellement, vous pouvez automatiser cette tâche avec Python et récupérer les titres des articles pour analyse ou affichage.
Voici le script Python complet pour récupérer les titres des articles :
import requests from bs4 import BeautifulSoup def fetch_article_titles(url): try: # Step 1: Send an HTTP GET request to fetch the webpage response = requests.get(url) response.raise_for_status() # Ensure the request was successful # Step 2: Parse the webpage content with BeautifulSoup soup = BeautifulSoup(response.text, "html.parser") # Step 3: Use a CSS selector to find all article titles titles = [] for heading in soup.select("h3"): # Most news sites use <h3> tags for article titles titles.append(heading.get_text(strip=True)) # Extract and clean the text return titles except requests.exceptions.RequestException as e: print(f"Error fetching the webpage: {e}") return [] except Exception as e: print(f"Error during parsing: {e}") return [] # Example usage: Fetching titles from BBC News url = "https://www.bbc.com/news" titles = fetch_article_titles(url) # Print the article titles print("Latest Article Titles:") for i, title in enumerate(titles, 1): print(f"{i}. {title}")
Faire la demande :
Analyser le contenu :
Extraire les titres :
Lorsque vous exécutez le script, vous obtiendrez une liste claire des titres d'articles :
Latest Article Titles: 1. Israel-Gaza conflict: Latest updates 2. Global markets fall amid economic uncertainty 3. AI advancements raise ethical questions 4. Football: Premier League results ...
Vous pouvez modifier ce script pour récupérer d'autres types de contenu ou cibler différents sites Web. Voici quelques ajustements que vous pouvez essayer :
Modifier le sélecteur CSS :
Remplacez « h3 » par un sélecteur plus spécifique (par exemple, « div.article-title ») si le site Web cible a une structure différente.
Grattez les données supplémentaires :
Extrayez les URL, les dates de publication ou les résumés en sélectionnant les éléments et attributs HTML pertinents.
Respectez les conditions d'utilisation du site Web :
Vérifiez toujours le fichier robots.txt ou les conditions d'utilisation d'un site Web pour vous assurer que le scraping est autorisé.
Taux Limitez vos demandes :
Évitez de surcharger le serveur en ajoutant un délai entre les requêtes à l'aide de la méthode time.sleep.
Gérer les modifications avec élégance :
Les sites Web peuvent modifier leur structure, brisant ainsi votre script. Soyez toujours prêt à déboguer et mettre à jour votre code.
En quelques lignes de code Python, nous avons créé un script simple mais puissant pour extraire les titres d'articles d'un site Web d'actualités. BeautifulSoup facilite la navigation et l'extraction des données dont vous avez besoin, tandis que les requêtes gèrent les interactions HTTP.
Le Web scraping peut ouvrir une multitude d'opportunités, de la surveillance des tendances à l'automatisation de la collecte de données. N'oubliez pas de gratter de manière responsable !
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!