NOVINKA! |Jedno volání API, čistá data zpět. Žádné scrapery nejsou potřeba.Získejte 10,000 tokenů zdarma →

Selenium Python (4). Jak používat Selenium s Pythonem a Proxy

Objevte sílu Selenium s Pythonem a využijte proxy servery pro efektivní web scraping a automatizaci. Zlepšete sběr dat pomocí cenově dostupných proxy serverů od FineProxy.

Publikováno4. června 2024
Doba čtení2 min

Při práci s web scrapingem nebo automatizací pomocí Selenium a Python mohou být proxy zásadní pro vyhnutí se IP banům a zvýšení efektivity sběru dat. Tento článek vás provede nastavením a používáním proxy v Selenium s Pythonem.

Co je Selenium a proč používat proxy servery?#

Selenium je výkonný nástroj pro automatizaci webových prohlížečů, často používaný pro web scraping a testování webových aplikací. Proxy jsou mezilehlé servery oddělující koncové uživatele od webových stránek, které procházejí, a pomáhají skrývat IP adresy a spravovat zatížení požadavků.

Nastavení Selenium s proxy servery#

Než se pustíte do kódu, ujistěte se, že máte nainstalované potřebné nástroje:

  • Python
  • Selenium (pip install selenium)
  • Ovladač webového prohlížeče (např. ChromeDriver pro Chrome nebo GeckoDriver pro Firefox)

Podrobný průvodce používáním proxy serverů v Selenium#

1. Nastavení Chrome s proxy serverem#

Chcete-li nakonfigurovat Chrome na použití proxy serveru, musíte v Selenium nastavit požadované schopnosti.

from selenium import webdriver
from selenium.webdriver.chrome.service import Service
from webdriver_manager.chrome import ChromeDriverManager

# Specify proxy details
proxy = "your_proxy_ip:port"

# Set up Chrome options
chrome_options = webdriver.ChromeOptions()
chrome_options.add_argument(f'--proxy-server={proxy}')

# Initialize WebDriver
driver = webdriver.Chrome(service=Service(ChromeDriverManager().install()), options=chrome_options)

# Open a website to verify the proxy
driver.get("http://whatismyipaddress.com")

# Close the browser
driver.quit()

Proxy s autentizací#

Pokud váš proxy server vyžaduje ověření, můžete použít Proxy třídu z selenium.webdriver.common.proxy.

from selenium import webdriver
from selenium.webdriver.common.proxy import Proxy, ProxyType
from selenium.webdriver.chrome.service import Service
from webdriver_manager.chrome import ChromeDriverManager

# Proxy settings
proxy = Proxy()
proxy.proxy_type = ProxyType.MANUAL
proxy.http_proxy = "your_proxy_ip:port"
proxy.ssl_proxy = "your_proxy_ip:port"
proxy.add_argument('--proxy-auth=user:password')

capabilities = webdriver.DesiredCapabilities.CHROME
proxy.add_to_capabilities(capabilities)

# Initialize WebDriver
driver = webdriver.Chrome(service=Service(ChromeDriverManager().install()), desired_capabilities=capabilities)

# Open a website to verify the proxy
driver.get("http://whatismyipaddress.com")

# Close the browser
driver.quit()

Používání Firefoxu s proxy#

Chcete-li nakonfigurovat Firefox na používání proxy, upravte nastavení profilu Firefoxu.

from selenium import webdriver
from selenium.webdriver.firefox.service import Service
from webdriver_manager.firefox import GeckoDriverManager

# Proxy details
proxy_ip = "your_proxy_ip"
proxy_port = "port"

# Set up Firefox profile
profile = webdriver.FirefoxProfile()
profile.set_preference("network.proxy.type", 1)
profile.set_preference("network.proxy.http", proxy_ip)
profile.set_preference("network.proxy.http_port", int(proxy_port))
profile.set_preference("network.proxy.ssl", proxy_ip)
profile.set_preference("network.proxy.ssl_port", int(proxy_port))

# Initialize WebDriver
driver = webdriver.Firefox(service=Service(GeckoDriverManager().install()), firefox_profile=profile)

# Open a website to verify the proxy
driver.get("http://whatismyipaddress.com")

# Close the browser
driver.quit()

Řešení Běžných Problémů#

Autentizace proxy: Pokud vaše proxy vyžaduje přihlášení, ujistěte se, že jsou přihlašovací údaje správně nastaveny.

Blokování IP: Některé weby mohou proxy stále blokovat. Používejte residenční nebo rotující proxy k vyřešení tohoto problému.

Shrnutí#

Používání proxy se Seleniumem a Pythonem vám může pomoci obejít omezení IP a zvýšit efektivitu vašich projektů web scrapingu. Ať už používáte Chrome nebo Firefox, nastavení proxy zahrnuje konfiguraci možností a schopností prohlížeče tak, aby směroval provoz přes proxy server.

ProhlížečZpůsob nastaveníAutentizaceKód je k dispozici
ChromeChromeOptionsAnoAno
FirefoxFirefoxProfileAnoAno

Pokud budete postupovat podle těchto kroků, zajistíte, že vaše scrapingové aktivity zůstanou nerušené a efektivní. Máte-li nějaké otázky nebo nápady na budoucí tutoriály, neváhejte zanechat komentář!