selenium 遇到反爬
时间: 2024-01-11 11:22:43 浏览: 107
当使用Selenium进行网页爬取时,有些网站会检测到Selenium并采取反爬措施。其中一种常见的反爬手段是通过检测`window.navigator.webdriver`属性来判断是否使用了Selenium。
在正常情况下,`window.navigator.webdriver`的值为`false`,而当使用Selenium时,它的值会被设置为`true`。为了应对这种反爬机制,可以通过修改`window.navigator.webdriver`的值来绕过检测。
以下是一种绕过Selenium反爬的方法:
```python
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
# 创建一个ChromeOptions对象
options = Options()
# 设置Chrome浏览器的参数,隐藏webdriver属性
options.add_argument("--disable-blink-features=AutomationControlled")
options.add_argument("--disable-extensions")
options.add_argument("--disable-dev-shm-usage")
options.add_argument("--disable-browser-side-navigation")
options.add_argument("--disable-gpu")
options.add_argument("--no-sandbox")
# 创建一个Chrome浏览器实例
driver = webdriver.Chrome(options=options)
# 打开目标网页
driver.get("https://example.com")
# 继续进行后续的爬取操作
# ...
```
通过设置ChromeOptions对象的参数,可以禁用一些与Selenium相关的特性,从而绕过网站对Selenium的检测。这样就可以正常进行网页爬取操作了。
阅读全文