Heim > Web-Frontend > js-Tutorial > Wie kann ich dynamische, mit JavaScript gerenderte Inhalte in Python extrahieren?

Wie kann ich dynamische, mit JavaScript gerenderte Inhalte in Python extrahieren?

DDD
Freigeben: 2024-12-22 09:58:04
Original
421 Leute haben es durchsucht

How to Scrape Dynamic JavaScript-Rendered Content in Python?

So entfernen Sie von JavaScript generierte dynamische Inhalte in Python

Das Entfernen dynamischer Inhalte von Webseiten kann bei der Verwendung statischer Methoden wie urllib2.urlopen(request) in Python eine Herausforderung darstellen . Solche Inhalte werden häufig durch in die Seite eingebettetes JavaScript generiert und ausgeführt.

Ein Ansatz zur Lösung dieses Problems besteht darin, das Selenium-Framework mit Phantom JS als Webtreiber zu nutzen. Stellen Sie sicher, dass Phantom JS installiert ist und seine Binärdatei im aktuellen Pfad verfügbar ist.

Hier ist ein Beispiel zur Veranschaulichung:

import requests
from bs4 import BeautifulSoup
response = requests.get(my_url)
soup = BeautifulSoup(response.text)
soup.find(id="intro-text") # Result: <p>
Nach dem Login kopieren

Dieser Code ruft die Seite ohne JavaScript-Unterstützung ab. Verwenden Sie zum Scrapen mit JS-Unterstützung Selenium:

from selenium import webdriver
driver = webdriver.PhantomJS()
driver.get(my_url)
p_element = driver.find_element_by_id(id_='intro-text')
print(p_element.text) # Result: 'Yay! Supports javascript'
Nach dem Login kopieren

Alternativ können Sie Python-Bibliotheken verwenden, die speziell für das Scraping von JavaScript-gesteuerten Websites entwickelt wurden, wie z. B. dryscrape:

import dryscrape
from bs4 import BeautifulSoup
session = dryscrape.Session()
session.visit(my_url)
response = session.body()
soup = BeautifulSoup(response)
soup.find(id="intro-text") # Result: <p>
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWie kann ich dynamische, mit JavaScript gerenderte Inhalte in Python extrahieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage