So rufen Sie Werte aus dynamischen HTML-Inhalten mit Python ab
Beim Versuch, Daten von einer Website abzurufen, die Inhalte dynamisch lädt, werden herkömmliche Methoden verwendet Die Anfrage von Python oder die BeautifulSoup-Bibliotheken schlagen möglicherweise fehl. Dies liegt daran, dass diese Bibliotheken keinen JavaScript-Code interpretieren, der die Daten generiert.
Das Problem verstehen
Im bereitgestellten Beispiel verwendet die betreffende Seite Lenkervorlagen Erstellen Sie dynamische Inhalte. Wenn Sie die HTML-Quelle mit den Entwicklertools eines Browsers überprüfen, finden Sie möglicherweise Vorlagenplatzhalter wie „{{formatPrice median}}“ anstelle der tatsächlichen Werte.
Lösungen
Um die tatsächlichen Werte aus dynamisch generierten Inhalten abzurufen, müssen Sie Techniken verwenden, die JavaScript interpretieren. Erwägen Sie die folgenden Optionen:
Selenium mit BeautifulSoup verwenden
Für die Beispielseite ( eve-central.com) und verwendet Selenium, um den „Median“-Wert abzurufen:
<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('span', class_="a-price-amount"): print(tag.text)</code>
Dieser Code verwendet Selenium, um die Seite zu laden, und BeautifulSoup, um den gerenderten HTML-Code zu analysieren und Tags mit der spezifischen Klassen-ID zu extrahieren Drucken ihres Textinhalts, der den gewünschten „Median“-Wert enthält.
Das obige ist der detaillierte Inhalt vonWie kann Python Werte aus dynamisch generierten HTML-Inhalten abrufen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!