Heim >Backend-Entwicklung >Python-Tutorial >Wie kann Python dynamische Website-Inhalte scrapen?

Wie kann Python dynamische Website-Inhalte scrapen?

Barbara Streisand
Barbara StreisandOriginal
2024-12-21 10:48:16671Durchsuche
<p>How Can Python Scrape Dynamic Website Content?

<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>
<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"))
<p>Ausgabe:

<p>
<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)
<p>Ausgabe:

Yay! Supports javascript

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!

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