Web Scraping avec proxys rotatifs : un exemple avec des requêtes Python et Selenium

DDD
Libérer: 2024-11-01 13:01:29
original
588 Les gens l'ont consulté

L'utilisation de proxys rotatifs pour le web scraping est un moyen efficace, en particulier lorsque vous devez accéder fréquemment au site Web ou contourner les mécanismes anti-crawler. Les proxys rotatifs peuvent modifier automatiquement les adresses IP, réduisant ainsi le risque d'être bloqué.

Ce qui suit est un exemple d'utilisation de proxys rotatifs avec la bibliothèque de requêtes de Python et Selenium pour le web scraping.

Utiliser la bibliothèque de requêtes

‌1. Installez les bibliothèques nécessaires‌ :

Tout d'abord, vous devez installer la bibliothèque de requêtes.

2. Configurez le proxy rotatif‌ :

Vous devez obtenir une clé API ou une liste de proxy auprès du fournisseur de services proxy tournant et les configurer dans les requêtes.

Web Scraping with Rotating Proxies: An Example with Python Requests and Selenium

3. Envoyer des demandes‌ :

Utilisez la bibliothèque de requêtes pour envoyer des requêtes HTTP et les transmettre via le proxy.

Exemple de code :

import requests 
from some_rotating_proxy_service import get_proxy  # Assuming this is the function provided by your rotating proxy service 

#Get a new proxy 
proxy = get_proxy() 

# Set the proxy's HTTP and HTTPS headers (may vary depending on the proxy service's requirements) 
proxies = { 
    'http': f'http://{proxy}', 
    'https': f'https://{proxy}' 
} 

# Sending a GET request 
url = 'http://example.com' 
try: 
    response = requests.get(url, proxies=proxies) 
    # Processing Response Data 
    print(response.text) 
except requests.exceptions.ProxyError: 
    print('Proxy error occurred') 
except Exception as e: 
    print(f'An error occurred: {e}') 
Copier après la connexion

Utiliser du sélénium

‌1. Installez les bibliothèques et les pilotes nécessaires :

Installez la bibliothèque Selenium et le WebDriver pour votre navigateur (tel que ChromeDriver).

2‌. Configurez les proxys rotatifs‌ :

Semblable aux demandes, vous devez obtenir les informations de proxy auprès du fournisseur de services proxy tournant et les configurer dans Selenium.

‌3. Lancez un navigateur et définissez le proxy‌ :

Lancez un navigateur à l'aide de Selenium et définissez le proxy via les options du navigateur.

Exemple de code :

from selenium import webdriver 
from selenium.webdriver.chrome.options import Options 
from some_rotating_proxy_service import get_proxy  # Assuming this is the function provided by your rotating proxy service 

# Get a new proxy 
proxy = get_proxy() 

# Set Chrome options to use a proxy 
chrome_options = Options() 
chrome_options.add_argument(f'--proxy-server=http://{proxy}') 

# Launch Chrome browser 
driver = webdriver.Chrome(options=chrome_options) 

# Visit the website 
url = 'http://example.com' 
driver.get(url) 

# Processing web data 
# ...(For example, use driver.page_source to get the source code of a web page, or use driver to find a specific element.) 

# Close the browser 
driver.quit() 
Copier après la connexion

Choses à noter

Assurez-vous que le service proxy tournant est fiable et fournit suffisamment de pools de proxy pour éviter les changements et blocages IP fréquents.
Planifiez correctement vos tâches de scraping en fonction des limites de tarification et d'utilisation du service proxy rotatif.
Lorsque vous utilisez Selenium, faites attention à la gestion de la fermeture de la fenêtre du navigateur et de la libération des ressources pour éviter les fuites de mémoire ou d'autres problèmes.
Respectez le fichier robots.txt et l'accord d'exploration du site Web cible pour éviter les litiges juridiques.

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:dev.to
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
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!