undetected-chromedriver 设置及获取请求头
时间: 2023-06-27 15:07:14 浏览: 480
undetected-chromedriver 是一个 Python 库,用于控制 Chrome 浏览器进行自动化测试,可以避免被网站识别出使用了 Selenium/WebDriver 进行自动化操作。
设置请求头可以通过创建一个字典对象,然后将其传递给 ChromeOptions 类的 add_argument() 方法中的 --headers 参数。例如:
```python
from undetected_chromedriver.v2 import Chrome, ChromeOptions
options = ChromeOptions()
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36 Edge/16.16299',
'Accept-Language': 'en-US,en;q=0.5',
'Accept-Encoding': 'gzip, deflate, br'
}
options.add_argument('--headers={}'.format(headers))
with Chrome(options=options) as driver:
driver.get('https://www.example.com')
```
获取响应头可以通过使用 Selenium 的 get_all_cookies() 方法来获取,然后从 Cookie 中提取响应头。例如:
```python
from undetected_chromedriver.v2 import Chrome, ChromeOptions
options = ChromeOptions()
with Chrome(options=options) as driver:
driver.get('https://www.example.com')
cookies = driver.get_cookies()
response_headers = {}
for cookie in cookies:
if cookie['name'] == 'response_headers':
response_headers = cookie['value']
break
print(response_headers)
```
其中,假设服务器在响应中将响应头存储到了名为 response_headers 的 Cookie 中。
阅读全文