如何在selenium中使用代理来避免在抓取数据时受到IP限制



当我们在使用scratchy进行刮擦时使用用户代理或代理池时,在使用硒的情况下应该使用什么工具?还想知道如何使用。有人能帮我解决这个问题吗?

使用FireFox运行Selenium时,可以指定驱动程序的代理设置。以下是用于设置FireFox代理设置的Python特定代码。

from selenium import webdriver
PROXY = "<HOST:PORT>"
webdriver.DesiredCapabilities.FIREFOX['proxy'] = {
"httpProxy": PROXY,
"ftpProxy": PROXY,
"sslProxy": PROXY,
"proxyType": "MANUAL",
}
with webdriver.Firefox() as driver:
# Open URL
driver.get("https://selenium.dev")

查看其他语言的selenium https代理文档。

对于Chrome,你可以做一些类似的事情,并为浏览器传递选项:

from selenium import webdriver
PROXY = "<HOST:PORT>"
options = webdriver.ChromeOptions()
options.add_argument('--proxy-server=%s' % PROXY)
driver = webdriver.Chrome(chrome_options=options')
driver.get("https://selenium.dev")

最新更新