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.
Tout d'abord, vous devez installer la bibliothèque de requêtes.
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.
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}')
Installez la bibliothèque Selenium et le WebDriver pour votre navigateur (tel que ChromeDriver).
Semblable aux demandes, vous devez obtenir les informations de proxy auprès du fournisseur de services proxy tournant et les configurer dans Selenium.
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()
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!