@概述
- 通常各大网站的后台都会有一定的反爬机制,既为了数据安全,也为了减小服务器压力
- 通常反爬的手段的方向,都是识别非浏览器客户端,而selenium所做的事情,恰恰是驱动真正的浏览器去执行请求和操作,只不过信号不是来源于鼠标,而是来源于selenium的API(selenium本是一个自动化的测试工具)
- 自然人用户能做的一切,selenium几乎都驱动浏览器取做,无论是否有界面,包括输入、点击、滑动,等等
- 然而到底是鼠标操作的浏览器发起的请求还是API,对于服务端来说,是没有任何差别的
- 所以说:做人难,做男人难,做一个后台开发的男人难上加难,让我们开始对其实施蹂躏吧
@一些掌故
- 早些的时候流行的组合并不是selenium+chrome浏览器驱动,而是selenium+phantomjs
- phantomjs是一款没有界面的浏览器,业界称作无头浏览器(headless),由于没有界面和渲染,其运行速度要大大优于有界面的浏览器,这恰恰是爬虫喜欢的,因此红极一时
后来chrome和火狐推出了无头模式,且运行速度很流畅,phantomjs已然寿终正寝,因此我们表过不提
@开发环境的搭建(基于ubuntu)
安装selenium:sudo pip install selenium
- 如果没有则安装chrome浏览器(尽量更新到58以上):