Forum Python

Please or S’enregistrer to create posts and topics.

Extraire des données depuis une page web

Salut,
je cherche à extraire des données depuis une url de page web! Quel module vais -je- utiliser. Merci.

Beautiful Soup est un package Python pour l'analyse des documents HTML et XML, y compris ceux avec un balisage mal formé. Il crée un arbre d'analyse pour les documents qui peut être utilisé pour extraire des données du HTML, ce qui est utile pour le scraping Web.
Beautiful Soup représente les données analysées sous forme d'arbre qui peut être recherché et parcouru avec des boucles Python ordinaires.

Exemple de code
L'exemple ci-dessous utilise l'urllib de la bibliothèque standard Python pour charger la page principale de Wikipédia, puis utilise BeautifulSoup pour analyser le document et rechercher tous les liens qu'il contient.

# Anchor extraction from HTML document
from bs4 import BeautifulSoup
from urllib.request import urlopen
with urlopen('https://en.wikipedia.org/wiki/Main_Page') as response:
    soup = BeautifulSoup(response, 'html.parser')
    for anchor in soup.find_all('a'):
        print(anchor.get('href', '/'))

 

Un autre exemple consiste à utiliser la bibliothèque de requêtes Python pour obtenir des divs sur une URL.

import requests
from bs4 import BeautifulSoup

url = 'https://wikipedia.com'
response = requests.get(url)
soup = BeautifulSoup(response.text, 'html.parser')
headings = soup.find_all('div')

for heading in headings:
    print(heading.text.strip())