Comment obtenir un attribut href en utilisant BeautifulSoup ? [2 Simple Methods]


Hors de 1,11 milliard de sites Web dans le monde, près de 95 % utilisent majoritairement HTML. L'interconnexion entre tous les sites Web est facilitée par le biais de liens. Pour rendre le processus de liaison possible, un élément appelé le attribut href joue un rôle important.

Le attribut href facilite la connexion des liens cliquables. Il spécifie l'URL d'une ressource liée à l'aide d'un lien hypertexte. Les attributs Href facilitent la récupération d'informations précieuses, conduisant à une extraction de données plus efficace et plus précise.

Cet article couvre un guide étape par étape sur la façon d'obtenir HTML href en utilisant le bs4 BelleSoup. Continuer à lire.

Qu'est-ce qu'un attribut href ?

Le attribut de référence hypertexte (ou attribut href) crée un lien hypertexte cliquable. Il indique la destination du texte d’ancrage menant à un lien hypertexte fonctionnel sur n’importe quelle page Web.

Publier des pages Web et des sites Web implique de gérer des ensembles complexes de codes. Pour insérer un lien hypertexte cliquable, vous devez utiliser le format ci-dessous :

Insérer du texte ici

Voici un exemple de ce à quoi cela devrait ressembler :

Le code produira le résultat suivant :

Sans attribut href, la sortie apparaîtra sous forme de texte brut. Il ressemblera à ceci:

Jury technique | Techniques de grattage de données

Les attributs Href spécifient la destination d'un lien hypertexte, ce qui facilite la navigation d'une page Web à une autre. Le manque d'attributs href affecte l'expérience utilisateur sur le site Web.

Avant de commencer à gratter le attribut hreftéléchargez et installez les prérequis suivants :

Python

Python – le langage de programmation couramment utilisé pour coder et automatiser l'extraction de données de sites Web. Ce guide utilise Python v3.9.6.

Bibliothèques Python

Bibliothèques Python – des collections de codes pour des tâches ou des fonctions particulières. Certaines bibliothèques ne sont pas prédéfinies, vous devez donc les installer manuellement.

Pour obtenir les attributs href, vous aurez besoin de ces deux bibliothèques Python :

  1. BelleSoupe (version 4) – pour extraire et analyser des documents HTML et XML.
  2. Demandes – utilisé pour les requêtes de type client HTTP.
  EDI

Éditeur de code ou IDE – une application pour écrire ou développer du code. Ce guide utilise Code de Visual Studiomais vous pouvez choisir n'importe quel éditeur de code.

A LIRE :  Que sont SAST, DAST et IAST ? (Différences et importance) – Blog Référencement SEO

Installation et vérification

Sécuriser les exigences est la première étape pour obtenir les attributs href. Suivez les étapes ci-dessous pour installer les prérequis :

Installation de Python

Vous pouvez facilement téléchargez Python depuis son site officiel. Une fois que vous l'avez installé, exécutez la commande suivante pour vérifier la version de Python :

La sortie doit afficher la version de Python que vous venez d'installer. Exemple:

Installation du PIP

Python inférieur à la version 3 peut ne pas inclure PIP lors de l'installation. Vous devez installer PIP manuellement. Pour ce faire, vous pouvez exécuter les commandes suivantes :

boucle https://bootstrap.pypa.io/get-pip.py -o get-pip.py

python get-pip.py

Vérifiez si l'installation a réussi en exécutant la commande :

La commande renverra une valeur indiquant la version PIP installée sur la machine. Par exemple:

pip 23.2.1 de c:\users\appdata\local\programs\python\python39\lib\site-packages\pip (python 3.9)

Installation de BeautifulSoup à l'aide de PIP

Pour obtenir le href à partir du HTML, installez BeautifulSoup doit venir en premier. Vous pouvez utiliser CMD ou VS Code. Vous pouvez le faire en exécutant cette commande :

pip installer beautifulsoup4

Vérifiez la version de BeautifulSoup que vous avez installée en utilisant :

La valeur de retour est une liste de packages avec leur version. Vous devriez voir une version avec un 4.xx format. Exemple:

Version du paquet
—————— ———–

bellesoup4 4.12.2

Comment obtenir href à partir d'une balise dans BeautifulSoup ?


BeautifulSoup dispose de différentes méthodes pour rechercher et extraire des éléments HTML. Lors de l'extraction des balises d'ancrage
contenant attributs hrefil y a deux manières de procéder : trouver() et Trouver tout().

Découvrez ci-dessous le fonctionnement de chaque méthode.

Méthode 1 : trouver()

Le trouver() La méthode localise le premier élément correspondant qui répond aux critères spécifiés. Il recherchera la première balise d'ancrage avec le attribut href.

Voici les étapes à suivre pour obtenir les attributs href avec trouver():

  1. Importez la bibliothèque BeautifulSoup à partir du package bs4.

    à partir de bs4 importer BeautifulSoup

  2. Définissez le contenu HTML en utilisant ce format :

Exemple:

  1. Créez et analysez l'objet BeautifulSoup.

soupe = BeautifulSoup(html, 'html.parser')

????️ Note

Le deuxième argument indique le nom de la bibliothèque d'analyseur. Identifiez d'abord le type de balisage que vous souhaitez analyser. Choisissez parmi:

  1. Extrait attributs href.
  1. Extraire le attribut href valeur à l’aide de la commande get().

href_att = lien.get('href')

  1. Afficher le attribut href en utilisant la fonction d'impression.

Consolidez toutes les étapes. Vous trouverez ci-dessous le code final sur la façon d'obtenir le attribut href en utilisant le trouver() méthode:

à partir de bs4 importer BeautifulSoup

html=””' Techjury | Techniques de récupération de données'''

soupe = BeautifulSoup(html, 'html.parser')

lien = soupe.find('a')

href_att = lien.get('href')

print(“href:”, href_att)

Méthode 2 : find_all()

Le Trouver tout() La méthode renvoie une liste d’objets dans la page Web. Il récupère toutes les balises d'ancrage et leurs attributs href à partir du contenu HTML.

Conseil de pro

Faire pas utilisez cette méthode si vous savez qu'un document n'en a qu'un étiqueter. Numériser l'intégralité du document avec un seul la balise fait perdre du temps.

Suivez les étapes ci-dessous pour collecter href en utilisant Trouver tout():

  1. Obtenez la bibliothèque BeautifulSoup à partir du package bs4.

à partir de bs4 importer BeautifulSoup

  1. Importez un client HTTP pour obtenir le contenu HTML derrière l'URL et envoyez-le à BeautifulSoup.
  2. Définissez le lien que vous souhaitez supprimer.

url = “https://techjury.net/scraping/”

  1. Extrayez la liste des URL à l'aide du obtenir() commande.
  1. Créez et analysez l'objet BeautifulSoup.

soupe = BeautifulSoup(req.text, “html.parser”)

  1. Renvoie une liste de tous les éléments correspondants. Avec une boucle for, il analyse l'intégralité du document.

pour le lien dans soup.find_all('a')

  1. Afficher tous les HTML href liens vers la console ou le terminal.

La dernière étape consiste à consolider toutes les étapes précédentes. Voici une vue complète de la façon d'obtenir le attribut href en utilisant le Trouver tout() méthode:

à partir de bs4 importer BeautifulSoup

demandes d'importation

url = “https://techjury.net/scraping/”

req = requêtes.get(url)

soupe = BeautifulSoup(req.text, “html.parser”)

print(“les liens href sont les suivants :”)

pour le lien dans soup.find_all('a'):

print(lien.get('href'))

Conclusion

Le attribut href rend les liens plus transparents et offre aux utilisateurs une navigation plus facile sur des milliards de sites Web. En dehors de cela, il vous permet de récupérer des données précieuses puisqu'il contient l'adresse complète de la page de destination.

Supprimer les attributs href avec Python est un processus simple. Python dispose d'une bibliothèque de packages spécifiquement utilisée pour le web scraping : BeautifulSoup. Avec BeautifulSoup, l'extraction des attributs href ne nécessite qu'un minimum de codage.