Bootstrap

selenium的driver.get(url)获取到目标网址的页面是空的且控制台反回521错误,但是url为百度地址时又可以显示(已解决)

看一下源码,源码打开百度网站是可以的,但是打开目标网站,网站是空白的

from selenium.webdriver.common.by import By
from selenium import webdriver

driver = webdriver.Chrome()
driver.get('https://hao.360.com/')

这说明网站被反爬了,网站识别webdriver的属性,判断是一个爬虫所以服务器拒绝处理,返回521(),一般5开头的错误属于服务器处理错误。

我们把webdriver的特征做一个隐藏

from selenium.webdriver import Chrome, ChromeOptions, ActionChains

from selenium.webdriver.common.by import By
from selenium import webdriver

    option = ChromeOptions()
    option.add_experimental_option('excludeSwitches', ['enable-automation'])
    option.add_experimental_option('useAutomationExtension', False)
    option.add_argument(
        'user-agent=Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.198 Safari/537.36')
    option.add_argument("--disable-blink-features=AutomationControlled")

    driver = webdriver.Chrome(options=option)
    driver.get('https://hao.360.com/')

这样就OK啦

参考WebDriver 识别反爬虫的原理和破解方法~-CSDN博客

;