selenium4 伪装 headers
时间: 2023-11-26 22:33:16 浏览: 210
Selenium 4 可以通过设置 ChromeOptions 或 FirefoxOptions 来伪装浏览器的 headers。以下是一个使用 ChromeOptions 伪装 headers 的例子:
```python
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
options = Options()
options.add_argument('--user-agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.82 Safari/537.36')
options.add_argument('--disable-blink-features=AutomationControlled')
options.add_argument('--headless')
options.add_argument('--disable-gpu')
options.add_argument('--no-sandbox')
options.add_argument('--disable-dev-shm-usage')
driver = webdriver.Chrome(options=options)
driver.get('https://www.example.com')
```
在这个例子中,我们使用 `add_argument()` 方法来设置 headers,其中 `--user-agent` 参数指定了 User-Agent,这个 User-Agent 是 Chrome 浏览器的 User-Agent。其他的参数是一些禁用 Chrome 自动化特性的参数。
除了设置 User-Agent,还可以设置其他的 headers,例如 Accept-Encoding、Accept-Language、Referer 等。具体的操作方法也是使用 `add_argument()` 方法来添加参数,例如:
```python
options.add_argument('--accept-encoding=gzip, deflate, br')
options.add_argument('--accept-language=en-US,en;q=0.9')
options.add_argument('--referer=https://www.google.com/')
```
需要注意的是,为了防止被识别为自动化程序,我们还需要禁用 Chrome 自动化特性,例如通过设置 `--disable-blink-features=AutomationControlled` 参数来禁用 Chrome 自动化特性。
同时,为了提高抓取效率,我们还可以设置 headless 模式、禁用 GPU 等参数。例如,通过设置 `--headless` 参数来开启 headless 模式,通过设置 `--disable-gpu` 参数来禁用 GPU。
阅读全文