selenium技术分享及运用青云API,Docker,高质量代理IP池让CPS抓取更稳定
公司zhe800
selenium是什么?
Selenium 是 ThoughtWorks 专门为 Web 应用程序编写的一个验收测试工具。据Selenium主页所说,与其他测试工具相比,使用 Selenium 的最大好处是:
- Selenium 测试直接在浏览器中运行,就像真实用户所做的一样。Selenium 测试可以在 Windows、Linux 和 MacintoshAnd 上的 Internet Explorer、Mozilla 和 Firefox 中运行。其他测试工具都不能覆盖如此多的平台。
- 使用 Selenium 和在浏览器中运行测试还有很多其他好处。下面是主要的两大好处:
- 通过编写模仿用户操作的 Selenium 测试脚本,可以从终端用户的角度来测试应用程序。
- 通过在不同浏览器中运行测试,更容易发现浏览器的不兼容性
注:就像真正的用户在操作 这句话意味深长
selenium能做什么?
作为Programmer来说,写一段程序来帮助我们完成一系列繁琐的人工操作工作,是一件多么愉快的事。21世纪是网络的时代,几乎所有的互联网操作都离不开浏览器,如果能让程序控制浏览器来为我们做一系列繁琐的工作,互联网的那些事儿不就变得简单了吗?太好了,想起都太好了。
Selenium 正是能为我们做这些事的工具。
注:就像真正的用户在操作 这句话意味深长 能做什么?其实他什么都能做,就像上一句话所说的那样 "能做用户通过浏览器所做的一切事情"
公司用selenium来做什么?
即将我们会基于selenium、青云API、docker、高质量代理IP池让几乎不靠谱的事情变成靠谱
青云API
青云服务器
青云API
青去API将做什么?
- 运用青云API去监控selenium服务器运行状态,根据服务器状态值,来控制服务器(重启、关机)
Docker
- Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化
- 我们会把selenium运行环境做成一个Docker镜像,当我们动态的操作服务器时,可以保证服务器上面运行的环境是一致的。
高质量代理IP池
- 现在使用代理IP非常的不智能,当一个代理IP被封后,接收到报警,才去更换代理IP.
- 我们需要根据IP的使用状态,动态的为每台服务器更新代理IP.
引申
现在比较火的一些思想 "动态Web应用部署与扩容系统",其实他的核心两块就是 云服务器(比如青云)和docker,我们都会在这次开发过程中涉及到。
总结
如果大家对抓取、selenium、云服务器API, Docker感兴趣的同事,我们可以花半个月时间,来专心的研究这些技术,让CPS抓取变得更靠谱。
在这过程中你将会学习到
- 抓取带来的乐趣
- selenium让你在web开发世界中变得更强大和无所不能
- 云服务器API 让你管理上百台服务器变得易常的容易
- docker 让你非常轻易的能部署上百台服务器的环境
- 更重要的是可以享受到做zhe800/node任务以外的工作机会,领悟到程序还可以如此的写法
- 时间不长,15天,可以掌握这些技能
现在需要一名感兴趣的同事,来学习selenium, 青云API ...等等,继续开发维护折800 CPS抓取系统.