通常各大网站的后台都会有一定的反爬机制,既为了数据安全,也为了减小服务器压力。反爬的手段的方向,都是识别非浏览器客户端,而selenium所做的事情,恰恰是驱动真正的浏览器去执行请求和操作,只不过信号不是来源于鼠标,而是来源于selenium的API(selenium本是一个自动化的测试工具),自然人用户能做的一切,selenium几乎都驱动浏览器取做,无论是否有界面,包括输入、点击、滑动,等等然而到底是鼠标操作的浏览器发起的请求还是API,对于服务端来说,是没有任何差别的。
安装python的selenium库
强大的 selenium 库安装非常简单,只需执行pip install命令即可安装。sudo pip install selenium
ubuntu16.04 自带浏览器 firefox 驱动下载
一开始也是尝试了 Chrome 浏览器,但是无头模式总是不成功,即使设置了--headless,也依然会有浏览器出现,因此决定使用 ubuntu 自带的 firefox 浏览器。
执行以下脚本:#encoding=utf8
# 导入selenium的浏览器驱动接口
from selenium import webdriver
# 要想调用键盘按键操作需要引入keys包
from selenium.webdriver.common.keys import Keys
# 导入chrome选项
from selenium.webdriver.firefox.options import Options
# 创建c