<p>
<p>
Dynamic Content Scrapping mit Python
<p>Das Erhalten von einfachem Text aus statischem HTML ist unkompliziert, dynamische Inhalte sind jedoch eine andere Geschichte. JavaScript bettet Inhalte ein, auf die Pythons HTTP-Anforderungsbibliotheken wie urllib2 nicht sofort zugreifen können.
<p>
Zugriff auf dynamische Inhalte
<p>Um auf dynamische Inhalte zuzugreifen, kann Python externe Tools nutzen, die das Web simulieren Browser. Diese Tools führen JavaScript aus und geben den gerenderten Seiteninhalt zurück.
<p>
1. Selenium mit PhantomJS:
- Installieren Sie PhantomJS (Headless-Browser) und stellen Sie sicher, dass es sich in Ihrem Pfad befindet.
- Verwenden Sie die Python-Bibliothek von Selenium, um PhantomJS als Webtreiber zu instanziieren.
- Navigieren Sie zur Zielseite und suchen Sie die Elemente von Interesse.
<p>
2. dryscape (nur Python 2):
- Installieren Sie Dryscrape mit Pip.
- Öffnen Sie eine Dryscrape-Sitzung und besuchen Sie die Zielseite.
- Rufen Sie die gerenderte Seite ab Inhalt als string.
<p>
Beispiel
<p>Betrachten Sie die Beispiel-HTML-Seite mit dynamischem JavaScript:
<p>
Nach dem Login kopieren
Nach dem Login kopieren
<p>
Ohne JS Unterstützung:
import requests
from bs4 import BeautifulSoup
response = requests.get(my_url)
soup = BeautifulSoup(response.text)
print(soup.find(id="intro-text"))
Nach dem Login kopieren
<p>
Ausgabe:
<p>
Nach dem Login kopieren
Nach dem Login kopieren
<p>
Mit JS-Unterstützung (Selenium):
from selenium import webdriver
driver = webdriver.PhantomJS()
driver.get(my_url)
print(driver.find_element_by_id("intro-text").text)
Nach dem Login kopieren
<p>
Ausgabe:
Yay! Supports javascript
Nach dem Login kopieren
Das obige ist der detaillierte Inhalt vonWie kann Python dynamische Website-Inhalte scrapen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!