专栏首页进击的Coder腾讯云Ubuntu搭建Selenium+PhantomJS环境过程
原创

腾讯云Ubuntu搭建Selenium+PhantomJS环境过程

前言

大部分网页可以直接请求爬取,但是如果页面是JS渲染的该怎么办呢?如果我们单纯去分析一个个后台的请求,手动去摸索JS渲染的到的一些结果,那简直没天理了。所以,我们需要有一些好用的工具来帮助我们像浏览器一样渲染JS处理的页面。

其中有一个比较常用的工具,那就是PhantomJS。

PhantomJS是一个无界面的,可脚本编程的WebKit浏览器引擎。它原生支持多种web 标准:DOM 操作,CSS选择器,JSON,Canvas 以及SVG。

另外还有一个与PhantomJS配合使用的类库叫做Selenium,二者配合可以完成复杂JS渲染页面的爬取。

下面我们来讲解下二者的安装过程。

安装

PhantomJS

PhantomJS安装方法有两种,一种是下载源码之后自己来编译,另一种是直接下载编译好的二进制文件。然而自己编译需要的时间太长,而且需要挺多的磁盘空间。官方推荐直接下载二进制文件然后安装。

大家可以依照自己的开发平台选择不同的包进行下载

下载地址

当然如果你不嫌麻烦,可以选择

下载源码

然后自己编译。

下载解压之后将所在路径加到环境变量。

安装完成之后输入命令:

phantomjs -v

如果正常显示版本号,那么证明安装成功了。如果提示错误,那么请重新安装。

安装Selenium

Selenium 是什么?一句话,自动化测试工具。它支持各种浏览器,包括 Chrome,Safari,Firefox 等主流界面式浏览器,如果你在这些浏览器里面安装一个 Selenium 的插件,那么便可以方便地实现Web界面的测试。换句话说叫 Selenium 支持这些浏览器驱动。话说回来,PhantomJS不也是一个浏览器吗,那么 Selenium 支持不?答案是肯定的,这样二者便可以实现无缝对接了。

然后又有什么好消息呢?Selenium支持多种语言开发,比如 Java,C,Ruby等等,有 Python 吗?那是必须的!哦这可真是天大的好消息啊。

嗯,所以呢?安装一下 Python 的 Selenium 库,再安装好 PhantomJS,不就可以实现 Python+Selenium+PhantomJS 的无缝对接了嘛!PhantomJS 用来渲染解析JS,Selenium 用来驱动以及与 Python 的对接,Python 进行后期的处理,完美的三剑客!

有人问,为什么不直接用浏览器而用一个没界面的 PhantomJS 呢?答案是:效率高!

Selenium 2,又名 WebDriver,它的主要新功能是集成了 Selenium 1.0 以及 WebDriver(WebDriver 曾经是 Selenium 的竞争对手)。也就是说 Selenium 2 是 Selenium 和 WebDriver 两个项目的合并,即 Selenium 2 兼容 Selenium,它既支持 Selenium API 也支持 WebDriver API。

Selenium安装比较简单,如果有了Python,可以直接用pip安装。

pip install selenium

如果是Python3,则可以使用pip3。

pip3 install selenium

下载源码安装也可以,源码地址

解压之后直接运行如下命令即可:

python setup.py install

如此以来就完成了Selenium的安装。

后记

以上我们完成了PhantomJS和Selenium的安装,如果要学习更多内容,可以参考官方文档。

PhantomJS

Selenium

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 妈妈再也不用担心爬虫被封号了!手把手教你搭建Cookies池

    崔庆才
  • 1 行 Python 代码能干哪些事,这 13 个你知道吗?

    Python 之禅有一句话叫 “Simple is better than complex.”,简单,到底能多简单,一行代码?

    崔庆才
  • 硬货来了!轻松掌握 MongDB 流式聚合操作

    信息科学中的聚合是指对相关数据进行内容筛选、处理和归类并输出结果的过程。MongoDB 中的聚合是指同时对多个文档中的数据进行处理、筛选和归类并输出结果的过程。...

    崔庆才
  • 自动化测试最新面试题和答案

    Selenium是基于Web的最流行的UI自动化测试工具。它提供了一组支持多种平台的公开API(例如Linux,Windows,Mac OS X等)。此外,像G...

    测试之道
  • Selenium 4.0-最新的测试自动化工具

    Selenium是业界领先的测试自动化工具之一,可以最大限度地实现测试自动化的目的。第一个Selenium工具于2004年作为Selenium Core推出。该...

    用户7466307
  • Selenium 4.0 Alpha更新日志

    早在2018年8月,整个测试自动化社区就发生了一件重大新闻:Selenium的创始成员Simon Stewart在班加罗尔Selenium会议上正式确认了Sel...

    FunTester
  • Selenium 4即将发布:每个QA都应该知道的

    熟悉Selenium 3.0发布背后故事的人知道,早2013年Selenium团队就放出消息将在圣诞节发布Selenium 3.0,可是,直到2016年Sele...

    软测小生
  • 【UI 自动化测试平台解决方案】使用 Selenium IDE 录制 UI 自动化测试脚本UI 自动化录制:Selenium IDESeleniumSelenium IDE

    通过 Selenium IDE 录制并重播功能,可以快速创建UI 自动化测试用例。

    一个会写诗的程序员
  • selenium-python中文版文

    Selenium Python提供了一个简单的绑定式API来使用Selenium WebDriver编写功能/验收测试。通过Selenium Python AP...

    py3study
  • 为什么不推荐Selenium写爬虫

    最近在群里经常会看到有些朋友说,使用Selenium去采集网站,我看到其实内心是很难受的,哎!为什么要用Selenium呢? 我想说下自己的看法,欢迎各位大佬批...

    小歪

扫码关注云+社区

领取腾讯云代金券