Heim  >  Artikel  >  Backend-Entwicklung  >  Wie extrahiere ich dynamische HTML-Inhaltswerte mit Python?

Wie extrahiere ich dynamische HTML-Inhaltswerte mit Python?

DDD
DDDOriginal
2024-10-19 07:48:31250Durchsuche

How to Extract Dynamic HTML Content Values with Python?

So extrahieren Sie Werte aus dynamischen HTML-Inhalten mit Python

Beim Abrufen von Daten von Websites stößt man häufig auf dynamische Inhalte. Durch die Verwendung der Standardbibliotheken von Python, wie z. B. Anfragen, können Sie möglicherweise nicht auf diese Werte zugreifen, da sie zur Laufzeit geladen werden.

Lösungen für den Umgang mit dynamischen Inhalten

Zu Um diese Herausforderung zu meistern, ziehen Sie die folgenden Lösungen in Betracht:

  • Ajax JSON direkt analysieren: Greifen Sie auf das JSON-Objekt zu, das die Website verwendet, um den dynamischen Inhalt zu laden und die erforderlichen Werte zu extrahieren.
  • Verwendung eines Offline-JavaScript-Interpreters:Verwenden Sie einen Interpreter wie SpiderMonkey, um den JavaScript-Code auszuführen und den HTML-Code in Ihrer Python-Anwendung zu rendern.
  • Browser-Automatisierungstool: Verwenden Sie ein Tool wie Selenium oder Watir, um Browseraktionen zu simulieren und auf den gerenderten HTML-Code zuzugreifen.

Selenium zur Wertextraktion

Selenium bietet einen umfassenden Ansatz für die Handhabung dynamischer Inhalt. So verwenden Sie es:

  1. Selenium installieren und konfigurieren:Stellen Sie sicher, dass Selenium und seine Abhängigkeiten in Ihrer Python-Umgebung installiert sind.
  2. Instanziieren Sie ein Web Treiber: Erstellen Sie mit der Webdriver-Klasse einen Webtreiber wie Firefox oder Chrome.
  3. Laden Sie die URL: Navigieren Sie mit der Methode get() zur gewünschten Website.
  4. HTML extrahieren: Rufen Sie den gerenderten HTML-Code für die Seite mithilfe der page_source-Eigenschaft ab.
  5. Parsen mit BeautifulSoup: Verwenden Sie BeautifulSoup, um den HTML-Code zu analysieren und Extrahieren Sie die erforderlichen Elemente.

Beispiel mit einer von „Lenkers“ gesteuerten Website

Stellen Sie sich eine Website vor, die „Lenkers“-Vorlagen verwendet. So extrahieren Sie den „Median“-Wert:

<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>

Dieses Beispiel zeigt, wie Sie mit Selenium auf den gerenderten HTML-Code zugreifen und ihn mit BeautifulSoup analysieren.

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn