Selenium 是什么

Selenium 是一个驱动浏览器的自动化工具,开发它的初衷是自动化测试 web 应用。到了爬虫的年代,爬虫工程师把它拿来模拟浏览器,去抓取普通方式获取不到的数据。

Selenium 的优势

  • 获取 JavaScript 渲染后的数据。比如:基于 vue.js 开发的前端页面。
  • 获取带有验证的 Ajax 请求的数据。有些 API 请求,会构造签名,如果我们不用 Selenium,则需要去了解签名算法。

Selenium 的劣势

  • 相比 Requests 库,Selenium 速度慢,占用资源更多
  • 容易被识别出来。比如使用 chromedriver,可以通过预定义变量识别。

安装

Selenium 支持的驱动有很多,比如 Google Chrome、Firefox、Internet Explorer 等。这里以使用 Chrome Driver 为例子。

  1. 下载并安装 Google Chrome 浏览器。
  2. 下载 chrome driver。
  3. 将 chrome driver 移动到 PATH 环境变量中。比如 Linux 下的 /usr/local/bin。
  4. 使用 pip3 安装 Python 库 selenium。

使用

快速入门

上面的代码,做了下面几件事情:

  1. 打开浏览器;
  2. 打开百度;
  3. 输入搜索『Python』关键字;
  4. 点击『百度一下』按钮;
  5. 等待百度返回搜索结果;
  6. 获取当前浏览器的 url、cookies 和源码;

相关系列文章

Python3 爬虫教程系列文章接下来会连载下去,大家可以关注蜻蜓代理的博客,第一时间阅读最新文章。

基础篇


转载请注明