刚学爬虫的,都觉得,哇,selenium好强大,所见即可爬,什么ajax请求,什么js,我selenium加chromedriver全搞定。
其实不是的,selenium它并不万能,不可否认它的确强大,方便。但,随着爬虫学习和使用越来越深入,你会发现,selenium的弊端越来越多。
一:效率问题
从启动,到模拟种种用户行为,他都没有直接访问接口快。
二:资源浪费
爬虫部署在服务器,大量爬虫启动,极其消耗资源,你在开几个selenium,分分钟爆炸。所以,进公司,基本见不到selenium的踪迹。
三:能被识别
虽然selenium模拟浏览器进行用户行为,但其实他还是会被识别。比如淘宝的模拟登陆。
等等吧,这些也就是一部分。
那它到底有什么用呢?
其实,用处也不少。
比如:我们需要cookies,一个cookies足够用半个月,那其实,我半个月跑一次代码做个模拟登陆,获取cookies,并不会产生上面的影响,
比如:我们需要参数,这个参数又是和浏览器有关的生成参数。如:土豆视频的ckey,那我获取一个ckey大概可以用100次,我维持数据库有20条,缺了在运行,也不会有上面的弊端。
selenium,是一个很神奇的工具,它对爬虫有很大的帮助,但爬虫却不能依赖它而活。
更多技能,才能爬到更多数据。