Dans cette discussion, nous explorons un problème courant rencontré lors du scraping de contenu HTML dynamique avec Python : rencontrer des espaces réservés de modèle à la place de valeurs réelles. Plus précisément, notre objectif est de récupérer la valeur « médiane » d'une page Web qui utilise des modèles de guidon.
Au départ, l'utilisation de la bibliothèque de requêtes seule ne donnera pas les résultats souhaités car elle ne peut pas gérer le rendu basé sur JavaScript du page. Pour surmonter cela, nous explorons trois solutions principales :
Dans notre cas, nous recommandons Selenium en conjonction avec BeautifulSoup. En utilisant Selenium pour obtenir le HTML rendu et BeautifulSoup pour l'analyser, nous pouvons accéder efficacement au contenu HTML dynamique. Vous trouverez ci-dessous un exemple d'extrait de code :
<code class="python">from bs4 import BeautifulSoup from selenium import webdriver # Get rendered HTML using Selenium driver = webdriver.Firefox() driver.get('http://eve-central.com/home/quicklook.html?typeid=34') html = driver.page_source # Parse HTML using BeautifulSoup soup = BeautifulSoup(html) # Search for specific tags, e.g., those with a "formatPrice median" class for tag in soup.find_all('formatPrice median'): median_value = tag.text</code>
Cette approche nous permet de naviguer et d'interagir avec la page Web comme le ferait un vrai navigateur, nous permettant d'obtenir les données nécessaires, même si elles sont chargées dynamiquement.
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!