Splash是什么:

  Splash是一个Javascript渲染服务。它是一个实现了HTTP API的轻量级浏览器,Splash是用Python实现的,同时使用Twisted和QT。Twisted(QT)用来让服务具有异步处理能力,以发挥webkit的并发能力。

为什么要有Splash:

  为了更加有效的制作网页爬虫,由于目前很多的网页通过javascript模式进行交互,简单的爬取网页模式无法胜任javascript页面的生成和ajax网页的爬取,同时通过分析连接请求的方式来落实局部连接数据请求,相对比较复杂,尤其是对带有特定时间戳算法的页面,分析难度较大,效率不高。而通过调用浏览器模拟页面动作模式,需要使用浏览器,无法实现异步和大规模爬取需求。鉴于上述理由Splash也就有了用武之地。一个页面渲染服务器,返回渲染后的页面,便于爬取,便于规模应用

Selenium是什么:

ason Huggins在2004年发起了Selenium项目,当时身处ThoughtWorks的他,为了不想让自己的时间浪费在无聊的重复性工作中,幸运的是,所有被测试的浏览器都支持Javascript。Jason和他所在的团队采用Javascript编写一种测试工具来验证浏览器页面的行为;这个JavaScript类库就是Selenium core,同时也是seleniumRC、Selenium IDE的核心组件。Selenium由此诞生。

关于Selenium的命名比较有意思,当时QTP mercury是主流的商业自化工具,是化学元素汞(俗称水银),而Selenium是开源自动化工具,是化学元素硒,硒可以对抗汞。

因为Selenium和Webdriver的合并,所以,Selenium 2.0由此诞生。简单用公式表示为:Selenium 2.0 = Selenium 1.0 + WebDriver

两者的区别:

selenium是浏览器测试自动化工具,很容易完成鼠标点击,翻页等动作,确定是一次只能加载一个页面,无法异步渲染页面,也就限制了selenium爬虫的抓取效率

splash可以实现异步渲染页面,可以同时渲染几个页面。缺点是在页面点击,,模拟登陆方面没有selenium灵活。

最新文章

  1. linux下设置固定IP
  2. Ucenter,Discuz
  3. windows 版的julia repl 启动时间已经大大优化!
  4. 如何在nopcommerce3.3注册页面添加密码强度检查仪?
  5. 【MVC 4】2.使用 Razor
  6. 基于Selenium2+Java的UI自动化(1) - 原理和环境搭建
  7. lufylegend库 LTextField
  8. centos6.5中 linux 升级内核
  9. 2018-计算机系机试(第二批)-D-最小差值
  10. 44_redux_comment应用_redux版本_同步功能
  11. 【记一次pull request的惨痛教训】不可见的分隔符之Zero-with-space
  12. 00、Word Count
  13. 【读书笔记】iOS-正则表达式
  14. 如何在mmseg3添加词库
  15. Maven插件系列之spring-boot-maven-plugin
  16. iproute2 对决 net-tools
  17. C++两个矩阵相乘
  18. Ubuntu输入法切换问题
  19. centos 6.5 ftp服务配置及客户端使用
  20. appium移动自动化测试---api键盘操作

热门文章

  1. 山西汽车销量(hive)
  2. sql中的isnull
  3. Kubeadm安装Kubernetes 1.15.1
  4. JS—图片压缩上传(单张)
  5. 纯css实现网上商城左侧垂直商品分类菜单
  6. Tcp客户端构建流程
  7. python面向对象---用函数实现面向对象原理
  8. j函数 判断以 什么开头
  9. luogu2046 海拔
  10. R语言把DataFrame的一行变成向量