Maison > interface Web > js tutoriel > Comment supprimer le contenu dynamique rendu par JavaScript en Python ?

Comment supprimer le contenu dynamique rendu par JavaScript en Python ?

DDD
Libérer: 2024-12-22 09:58:04
original
411 Les gens l'ont consulté

How to Scrape Dynamic JavaScript-Rendered Content in Python?

Comment gratter le contenu dynamique généré par JavaScript en Python

La suppression du contenu dynamique des pages Web peut poser des défis lors de l'utilisation de méthodes statiques telles que urllib2.urlopen(request) en Python . Ce contenu est souvent généré et exécuté par JavaScript intégré à la page.

Une approche pour résoudre ce problème consiste à exploiter le framework Selenium avec Phantom JS comme pilote Web. Assurez-vous que Phantom JS est installé et que son binaire est disponible dans le chemin actuel.

Voici un exemple pour illustrer :

import requests
from bs4 import BeautifulSoup
response = requests.get(my_url)
soup = BeautifulSoup(response.text)
soup.find(id="intro-text") # Result: <p>
Copier après la connexion

Ce code récupérera la page sans support JavaScript. Pour scraper avec le support JS, utilisez 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'
Copier après la connexion

Vous pouvez également utiliser des bibliothèques Python spécialement conçues pour scraper des sites Web pilotés par JavaScript, tels que 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>
Copier après la connexion

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal