<p>
<p>
Suppression de contenu dynamique avec Python
<p>Obtenir du texte brut à partir de HTML statique est simple, mais le contenu dynamique est une autre histoire. JavaScript intègre du contenu qui n'est pas immédiatement accessible aux bibliothèques de requêtes HTTP de Python comme urllib2.
<p>
Accès au contenu dynamique
<p>Pour accéder au contenu dynamique, Python peut exploiter des outils externes qui simulent le Web navigateurs. Ces outils exécutent JavaScript et renvoient le contenu de la page rendue.
<p>
1. Selenium avec PhantomJS :
- Installez PhantomJS (navigateur sans tête) et assurez-vous qu'il se trouve sur votre chemin.
- Utilisez la bibliothèque Python de Selenium pour instancier PhantomJS en tant que pilote Web.
- Naviguez vers la page cible et localisez les éléments de intérêt.
<p>
2. dryscape (Python 2 uniquement) :
- Installez dryscrape à l'aide de pip.
- Ouvrez une session dryscrape et visitez la page cible.
- Récupérez la page rendue contenu en tant que chaîne.
<p>
Exemple
<p>Considérez l'exemple de page HTML avec JavaScript dynamique :
<p>
Copier après la connexion
Copier après la connexion
<p>
Sans JS support :
import requests
from bs4 import BeautifulSoup
response = requests.get(my_url)
soup = BeautifulSoup(response.text)
print(soup.find(id="intro-text"))
Copier après la connexion
<p>
Sortie :
<p>
Copier après la connexion
Copier après la connexion
<p>
Avec support JS (Selenium) :
from selenium import webdriver
driver = webdriver.PhantomJS()
driver.get(my_url)
print(driver.find_element_by_id("intro-text").text)
Copier après la connexion
<p>
Sortie :
Yay! Supports javascript
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!