博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
谷歌无头浏览器与反检测
阅读量:3941 次
发布时间:2019-05-24

本文共 1550 字,大约阅读时间需要 5 分钟。

谷歌无头浏览器

由于PhantomJs已经停止了更新和维护,所以推荐使用谷歌无头浏览器,是一款无界面的谷歌浏览器

from selenium import webdriverfrom time import sleepfrom selenium.webdriver.chrome.options import Options""" 实现无可视化界面的操作 """chrome_options = Options()chrome_options.add_argument('--headless')chrome_options.add_argument('--disable-gpu')browser = webdriver.Chrome(executable_path='./chromedriver', chrome_options=chrome_options)# 无可视化界面(无头浏览器)browser.get('https://www.baidu.com')print(browser.page_source)sleep(3)browser.quit()

selenium规避被检测识别

现在不少网站都有对selenium采取了监测机制,比如正常情况下我们用浏览器访问淘宝等网站的window.navigator.webdriver的值为 undefined,而使用 selenium访问则该值为 true,那么如何解决这个问题呢?

只需要设置chromedriver的启动参数即可解决。在启动chromedriver之前,为chromedriver开启实验性功能参数excludeSwitches,它的值为['enable-automation'],示例代码如下:

from selenium.webdriver import Chromefrom selenium.webdriver import ChromeOptionsoption = ChromeOptions()option.add_experimental_option('excludeSwitches', ['enable-automation'])driver = Chrome(option=option)

完整代码如下:

from selenium import webdriverfrom time import sleepfrom selenium.webdriver.chrome.options import Optionsfrom selenium.webdriver import ChromeOptions""" 实现无可视化界面的操作 """chrome_options = Options()chrome_options.add_argument('--headless')chrome_options.add_argument('--disable-gpu')""" 实现规避检测 """option = ChromeOptions()option.add_experimental_option('excludeSwitches', ['enable-automation'])browser = webdriver.Chrome(executable_path='./chromedriver', chrome_options=chrome_options, options=option)# 无可视化界面(无头浏览器)browser.get('https://www.baidu.com')print(browser.page_source)sleep(3)browser.quit()

转载地址:http://akiwi.baihongyu.com/

你可能感兴趣的文章
Linux - 守护进程-1
查看>>
syslog 和 rsyslog
查看>>
Linux下,write/read,recv/send, recvfrom/sendto的区别
查看>>
ubuntu下 rc.local的脚本不运行
查看>>
Linux下简单Makefile文件的编写
查看>>
linux下配置JDK JAVA环境
查看>>
解决Ubuntu 14.04 grub选择启动项10秒等待时间
查看>>
Python函数操作集锦之字符串测试、判断函数
查看>>
Python字符串操作集锦之字符串映射表
查看>>
Python字符串操作集锦之字符串编码解码函数
查看>>
Python字符串类型转换函数
查看>>
Python有用的命令
查看>>
Python条件语句
查看>>
Python eval()函数
查看>>
Linux rz和sz命令详解
查看>>
Python 集合set
查看>>
Codeforces Round #400 (Div. 1 + Div. 2, combined)D - The Door Problem(2-sat)
查看>>
IDEA中Struts2文件上传时404错误The origin server did not find a current representation for the target resour
查看>>
Perl/Tk 变量追踪及类线程实现
查看>>
1.嵌入式开发环境搭建--虚拟机安装(unbutu)系统
查看>>