Maison  >  Article  >  développement back-end  >  Extraire les titres des pages Web à l'aide de Python

Extraire les titres des pages Web à l'aide de Python

WBOY
WBOYavant
2023-08-31 12:45:051068parcourir

Extraire les titres des pages Web à laide de Python

En Python, nous pouvons extraire des titres de pages Web à l'aide du web scraping. Le Web scraping est le processus d'extraction de données d'un site Web ou d'une page Web. Dans cet article, nous supprimerons le titre d'une page Web à l'aide des bibliothèques Requests et BeautifulSoup en Python.

Extraire les titres des pages Web

Méthode 1 : Utiliser les bibliothèques Request et Beautiful Soup

Nous pouvons utiliser les bibliothèques de requêtes Python et Beautiful Soup pour extraire les titres des pages Web. La bibliothèque de requêtes est utilisée pour envoyer des requêtes HTTP aux sites Web et obtenir leurs réponses. Nous utilisons ensuite l'objet de réponse pour extraire le contenu HTML de la page Web.

Exemple

Dans l'exemple ci-dessous, nous extrayons le titre de la page d'accueil de Wikipédia. Nous utilisons la bibliothèque de requêtes pour envoyer une requête GET à l'URL de la page Wikipédia et stockons l'objet de réponse dans la variable de réponse.

Nous pouvons ensuite utiliser l'objet Beautiful Soup pour analyser le contenu HTML reçu dans l'objet de réponse et extraire la balise de titre de la page Web à l'aide de la propriété soup.title. Nous pouvons ensuite extraire l'attribut string et le stocker dans la variable title.

import requests
from bs4 import BeautifulSoup

url = 'https://www.wikipedia.org/'
response = requests.get(url)

soup = BeautifulSoup(response.content, 'html.parser')
title = soup.title.string

print(title)

Sortie

Wikipedia

Méthode 2 : utilisez urllib et BeautifulSoup pour extraire les titres

Les méthodes

urllib et BeautifulSoup sont utilisées pour extraire le titre d'une page Web en ouvrant l'URL et en récupérant le contenu HTML de la page Web à l'aide de la bibliothèque urllib. Créez un objet BeautifulSoup avec le contenu HTML et utilisez la propriété 'soup.title' pour extraire la balise de titre de la page.

Exemple

Dans l'exemple ci-dessous, nous utilisons la bibliothèque urllib pour ouvrir une URL et récupérer le contenu HTML de la page web. Nous utilisons ensuite l'analyseur 'html.parser' pour créer un objet BeautifulSoup en utilisant le contenu HTML de la page Web.

Nous pouvons ensuite extraire la balise titre de la page web à l'aide de l'attribut 'soup.title'. Enfin, nous utilisons l'attribut "string" pour extraire le contenu de la chaîne de la balise title et le stocker dans la variable "title". Ensuite, nous imprimons le titre de la page Web sur la console.

from urllib.request import urlopen
from bs4 import BeautifulSoup

url = 'https://www.wikipedia.org/'
html_page = urlopen(url)
soup = BeautifulSoup(html_page, 'html.parser')
title = soup.title.string

print(title)

Sortie

Wikipedia

Méthode 3 : Extraire le titre à l'aide de sélénium et BeautifulSoup

Les méthodes Selenium et BeautifulSoup sont utilisées pour extraire les titres des pages Web en ouvrant l'URL à l'aide de la bibliothèque Selenium et en récupérant le contenu HTML de la page Web. Créez un Chrome Webdriver et utilisez-le pour accéder aux pages Web. Récupérez le contenu HTML de la page Web à l'aide de l'attribut "page_source" du webdriver. Créez un objet BeautifulSoup avec le contenu HTML et utilisez la propriété 'soup.title' pour extraire la balise de titre de la page.

Exemple

Dans l'exemple ci-dessous, nous utilisons la bibliothèque Selenium pour ouvrir une URL et récupérer le contenu HTML de la page Web. Nous créons un Chrome Webdriver et l'utilisons pour accéder aux pages Web. Nous récupérons ensuite le contenu HTML de la page Web à l'aide de l'attribut "page_source" du pilote Web.

Nous utilisons l'analyseur "html.parser" pour créer un objet BeautifulSoup en utilisant le contenu HTML de la page Web. On peut ensuite extraire la balise title de la page web grâce à la propriété "soup.title". Enfin, nous utilisons l'attribut "string" pour extraire le contenu de la chaîne de la balise title et le stocker dans la variable "title". Ensuite, nous imprimons le titre de la page Web sur la console.

from selenium import webdriver
from bs4 import BeautifulSoup

url = 'https://www.wikipedia.org/'
driver = webdriver.Chrome()
driver.get(url)

html_page = driver.page_source
soup = BeautifulSoup(html_page, 'html.parser')
title = soup.title.string

print(title)

driver.quit()

Sortie

Wikipedia

Méthode 4 : Utiliser des expressions régulières pour extraire des titres

La méthode d'expression régulière est utilisée pour extraire les en-têtes des pages Web en utilisant la bibliothèque de requêtes pour envoyer une requête GET à l'URL et stocker l'objet de réponse. Le contenu HTML de la page Web est ensuite décodé et stocké dans des variables. Définissez un modèle d'expression régulière pour correspondre à la balise de titre d'une page Web. La méthode Search d'un modèle d'expression régulière trouve la première occurrence du modèle dans le contenu HTML de la page Web. La méthode group(1) peut être utilisée pour extraire le contenu de la chaîne du premier groupe correspondant afin d'obtenir le titre de la page Web.

Exemple

Dans l'exemple ci-dessous, nous utilisons des expressions régulières pour extraire le titre d'une page Web. Nous utilisons la bibliothèque de requêtes pour envoyer une requête GET à une URL et stockons l'objet de réponse dans la variable "response".

Nous décodons ensuite le contenu HTML de la page Web à l'aide de l'encodage « utf-8 » et le stockons dans la variable « html_content ». Nous définissons un modèle d'expression régulière pour correspondre à la balise de titre d'une page Web.

Nous utilisons la méthode "search" d'un modèle d'expression régulière pour trouver la première occurrence du modèle dans le contenu HTML de la page Web. Nous utilisons la méthode "group(1)" pour extraire le contenu de la chaîne du premier groupe correspondant et le stocker dans la variable "title". Ensuite, nous imprimons le titre de la page Web sur la console.

import requests

url = 'https://www.wikipedia.org/'
response = requests.get(url)
html_content = response.content.decode('utf-8')

title_pattern = re.compile('(.+?)')
match = title_pattern.search(html_content)
title = match.group(1)

print(title)

Sortie

Wikipedia

Conclusion

Dans cet article, nous avons discuté du processus d'extraction de titres de pages Web à l'aide de requêtes et de la bibliothèque Beautiful Soup en Python. La bibliothèque de requêtes est utilisée pour envoyer des requêtes HTTP aux URL de sites Web et obtenir du contenu HTML en réponse. La bibliothèque Beautiful Soup est ensuite utilisée pour analyser le contenu HTML et extraire les en-têtes requis du contenu HTML.

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!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer