单机运行多个独立浏览器

有时候我们想从网站获取一些数据,比如想统计一下某壳上面所在小区挂牌的二手房户型和单价,或者想统计某音特定频道小姐姐们的星座分布,怎么做呢?灰色的手段我们是不能用的,所以不会考虑黑进网站的后台服务器拿数据,于是我们打开excel,把网页上的数据一条条的保存起来,方法简单,就是略微苯了点;如果数据量比较大,太消耗体力,当然更不可能实现定期更新了。如果能想个方法,把网页上的信息自动保存到excel文件里面,那就比较轻松了。

selenium是一个web自动化测试的工具,支持和浏览器的交互,你可以通过selenium操作浏览器,打开指定的网页、输入数据、点击按钮、滚动窗口,等等,而且可以从浏览器获取网站的返回结果,达到了真正的所见即所得,把结果保存起来自然也就不在话下了。

我们写好了selenium的操作脚本,泡上一杯咖啡,轻松的看着浏览器自己忙活。突然页面上弹出一个验证窗口,可能是让我们输入验证码、或者补全一个缺了一块的图形、或者是从9张图片中选择一个和某物品相关的所有图片,原来是访问过于频繁,触发了网站的保护机制。于是只好降低访问页面的频率,本来半天就能做完的事情,可能需要做个两三天才行了。

怎么样能加快访问速度呢?用多台机器当然是可以的,但是,首先你需要有多台机器,或者你的机器配置足够高可以跑多个虚拟机,其次是需要做任务分配和数据汇总的工作,复杂度大大提高了。于是我想是不是可以骗一下网站,让后台以为我是多个独立的请求呢?

主流的浏览器都支持多tab和多窗口,但是这些窗口共享了一套配置,不管开多少窗口,服务器都很容易识别出所有请求来自同一台机器,因此&

你可能感兴趣的:(前端)