Maison >développement back-end >Tutoriel Python >Comment Python peut-il supprimer le contenu dynamique d'un site Web ?

Comment Python peut-il supprimer le contenu dynamique d'un site Web ?

Barbara Streisand
Barbara Streisandoriginal
2024-12-21 10:48:16691parcourir
<p>How Can Python Scrape Dynamic Website Content?

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

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

Yay! Supports javascript

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!

Déclaration:
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