Scraping - Exercices¶
Obtenir les derniers articles du Monde (**)¶
- Obtenir le titre et le chapeau (description) des derniers articles sur https://www.lemonde.fr/actualite-en-continu/ (*)
- Enregistrer les images correspondantes (***, @)
!pip install unidecode
import requests
from bs4 import BeautifulSoup
import pandas as pd
from unidecode import unidecode
Collecting unidecode Downloading Unidecode-1.3.7-py3-none-any.whl (235 kB) ââââââââââââââââââââââââââââââââââââââââ 0.0/235.5 kB ? eta -:--:-- âââââââââââââââââââââââââșâââââââââââââââ 143.4/235.5 kB 4.1 MB/s eta 0:00:01 ââââââââââââââââââââââââââââââââââââââââ 235.5/235.5 kB 4.6 MB/s eta 0:00:00 Installing collected packages: unidecode Successfully installed unidecode-1.3.7
Le beau temps fait-il le bonheur ? (**)¶
Les gens sont-ils plus heureux dans les pays ensoleillés ? Y a-t-il un lien entre le taux de dépression et le manque de soleil ? Intéressons-nous aux données pour répondre à cette question.
HypothĂšse :
Moins un pays compte d'heures d'ensoleillement, plus le taux d'individus déprimés est élevé.
Data Ă collecter :
- Noms de pays
- Taux de personnes déprimées
- Moyenne des heures d'ensoleillement
Ressources Ă utiliser :
- https://en.wikipedia.org/wiki/Epidemiology_of_depression
- https://en.wikipedia.org/wiki/List_of_cities_by_sunshine_duration
Questions :
- Scraper les 2 tables (taux d'individus déprimés et heures d'ensoleillement). (**)
- Nettoyer les données et calculer les moyennes annuelles d'ensoleillement par pays. (**)
- Fusionner les tables. (*)
- Afficher la corrélation à l'aide d'un scatter plot (
sns.scatterplot
). (*)
INDICES :
Dans cet exercice, nous scrapons des tables sur un site web. Pour cette tĂąche, on peut utiliser BeautifulSoup comme d'habitude, ou utiliser la fonction pandas pd.read_html()
qui est plus rapide (meilleure solution ici). AprÚs avoir scrapé les données des articles, il reste simplement à les fusionner et à étudier la corrélation.
Le meilleur kebab du coin¶
Vous aimeriez, pour tous les restaurants kebab de Paris, accéder au nom, à l'adresse, et à la note moyenne donnée sur le site kebab-frites.
Indice: https://www.kebab-frites.com/meilleur-kebab/paris-d54.html
Récupérer le nom des 20 restaurants cités en 2022
Récupérer l'adresse des 20 restaurants cités en 2022
Récupérer la note des 20 restaurants cités en 2022
indice: utiliser .select
Récupérer le nombre d'avis pour les 20 restaurants cités en 2022
Avec pandas, créer un DataFrame avec les informations reccueillies
Veillez aux types des colonnes
Nettoyer le nom du restaurant en enlevant le numéro d'apparition (#num)
Nettoyer l'adresse : on veut dans une colonne l'adresse (rue), et dans une autre le numéro de l'arrondissement (le code postal entier, 75xxx)
Ordonner la table selon la note, en cas d'égalité en fonction du nombre d'avis
Plotter le nombre de restaurants par arrondissement
Encyclopedia (***)¶
On souhaite constituer une encyclopĂ©die au cas oĂč Wikipedia disparaĂźtrait.
Pour cela, nous avons besoin d'une importante base d'articles pour que notre encyclopédie soit viable. Nous allons donc nous référer à l'article wikipédia qui liste les articles que toute bonne encyclopédie devrait posséder : https://fr.wikipedia.org/wiki/Wikip%C3%A9dia:Liste_d%27articles_que_toutes_les_encyclop%C3%A9dies_devraient_avoir.
L'objectif de l'exercice est de sauvegarder cette liste d'articles au bon format, c'est-à -dire en préservant la hiérarchie des articles en sections et sous-sections.
Indice : Le dictionnaire pourrait ĂȘtre un bon format.
Choisir son futur ordinateur (***)¶
[MAJ] Boulanger vient de modifier le code du site et de mettre en place des mesures anti-scraping. Cet exercice ne peut donc plus ĂȘtre effectuĂ© en l'Ă©tat. MAJ Ă venir avec un autre site de vente d'informatique Ă©quivalent.
Supposons que vous souhaitiez changer d'ordinateur. Vous utilisez vos nouvelles compétences en scraping pour réaliser une étude des références disponibles sur le site Boulanger.
- Scraper la premiÚre page de la catégorie ultrabooks. Pour chaque produit de la page, récupérer son nom, son prix, la réduction s'il y en a une, le nombre d'étoiles et les caractéristiques principales. Sauvegarder ces informations dans un fichier csv.
- Faire la mĂȘme chose avec toutes les pages de la catĂ©gorie ultrabooks.
Indice : Partir de l'URL : https://www.boulanger.com/c/ultrabook-ultra-portable. La premiÚre question est réalisable sans ouvrir chaque page de produit.