Werte aus dynamischen HTML-Inhalten mit Python abrufen
Beim Versuch, Daten von Websites mit dynamisch geladenen Inhalten zu extrahieren, verwenden Standard-Web-Scraping-Ansätze Bibliotheken wie urllib kann auf Einschränkungen stoßen. Dies liegt daran, dass Browser häufig JavaScript-Vorlagen verwenden, um dynamische Elemente auf der Seite darzustellen. Daher sind diese Vorlagen nicht im Roh-HTML vorhanden, das von Web-Scraping-Bibliotheken empfangen wird.
Lösung
Um dieses Problem zu beheben, stehen mehrere Optionen zur Verfügung:
Verwendung von Selenium und BeautifulSoup
Selenium bietet eine praktische Möglichkeit um den gerenderten HTML-Inhalt von einer Website abzurufen, und BeautifulSoup kann verwendet werden, um den HTML-Inhalt effizient zu analysieren. Hier ist ein modifizierter Codeausschnitt, der für die angegebene Website funktionieren sollte:
<code class="python">from bs4 import BeautifulSoup from selenium import webdriver driver = webdriver.Firefox() driver.get(url) html = driver.page_source soup = BeautifulSoup(html) for tag in soup.find_all("span", class_="formatPrice median"): print(tag.text)</code>
Dieser Code verwendet die Methode find_all von BeautifulSoup, um nach bestimmten CSS-Klassennamen zu suchen, die dem gewünschten Wert entsprechen. In diesem Fall lautet der Klassenname formatPrice median.
Fazit
Durch die Verwendung von Browser-Automatisierungstools wie Selenium können Sie effektiv Werte aus dynamisch generierten HTML-Inhalten abrufen und bereitstellen eine robuste Lösung für Web-Scraping-Szenarien mit JavaScript-Vorlagen oder AJAX-basiertem Datenladen.
Das obige ist der detaillierte Inhalt vonWie extrahiere ich dynamische HTML-Inhaltswerte mit Python?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!