Maison  >  Article  >  développement back-end  >  Comment extraire les valeurs de contenu HTML dynamique avec Python ?

Comment extraire les valeurs de contenu HTML dynamique avec Python ?

DDD
DDDoriginal
2024-10-19 07:48:31341parcourir

How to Extract Dynamic HTML Content Values with Python?

Comment extraire des valeurs d'un contenu HTML dynamique à l'aide de Python

Lors de la récupération de données à partir de sites Web, il est courant de rencontrer du contenu dynamique. En utilisant les bibliothèques standard de Python, telles que les requêtes, vous ne pourrez peut-être pas accéder à ces valeurs car elles sont chargées au moment de l'exécution.

Solutions pour la gestion du contenu dynamique

Pour Pour surmonter ce défi, envisagez les solutions suivantes :

  • Analyser directement Ajax JSON : Accédez à l'objet JSON que le site Web utilise pour charger le contenu dynamique et extraire les valeurs requises.
  • Utilisation d'un interprète JavaScript hors ligne : Employez un interprète tel que SpiderMonkey pour exécuter le code JavaScript et restituer le code HTML dans votre application Python.
  • Outil d'automatisation du navigateur : Utilisez un outil comme Selenium ou Watir pour simuler les actions du navigateur et accéder au HTML rendu.

Selenium for Value Extraction

Selenium offre une approche complète de gestion contenu dynamique. Voici comment l'utiliser :

  1. Installer et configurer Selenium : Assurez-vous que Selenium et ses dépendances sont installés dans votre environnement Python.
  2. Instancier un site Web driver : Créez un pilote Web, tel que Firefox ou Chrome, à l'aide de la classe webdriver.
  3. Chargez l'URL : Accédez au site Web souhaité à l'aide de la méthode get().
  4. Extraire le HTML : Récupérez le HTML rendu pour la page à l'aide de la propriété page_source.
  5. Analyser avec BeautifulSoup : Utilisez BeautifulSoup pour analyser le HTML et extrayez les éléments requis.

Exemple avec un site piloté par guidon

Considérez un site Web utilisant des modèles de guidon. Pour extraire la valeur « médiane » :

<code class="python">from bs4 import BeautifulSoup
from selenium import webdriver

driver = webdriver.Firefox()
driver.get('http://eve-central.com/home/quicklook.html?typeid=34')

html = driver.page_source
soup = BeautifulSoup(html)

for tag in soup.find_all("div", class_="priceContainer"):
    print tag.text</code>

Cet exemple montre comment accéder au HTML rendu à l'aide de Selenium et l'analyser avec BeautifulSoup.

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:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn