因为爬虫下限很低,上限极高
之所以网上爬虫教程这么多,是因为爬虫本来就很简单,从逻辑上讲无非就是构建请求-发送请求-解析响应-获得数据这4步,有可能写几行代码就搞定了
所以网上的教程一般都是简单教一下怎么用python模拟请求和搜索DOM,大部分人学会了之后也就去网上随便爬点图片什么的,能做的东西非常有限
这也就是为什么很多人觉得爬虫真的没有技术含量
因为他们对于爬虫的认知,仅仅停留在模拟请求这一件事上而已
而其实一个强大的爬虫,要涉及到非常多的知识和技术:要懂得HTTP协议,知道哪个协议可以帮助节省带宽和时间;
要了解数据库知识,不然怎么优化、存储数据;
数据库分布式总要懂一点,不然爬虫怎么协作呢;
要学习算法,基本的调度算法、爬虫调度需要了解;
要学习JavaScript,数据是怎么处理的,如何反向解析这些数据等等;
基础爬虫很简单,普通的开发都能通过很短的时间学习并胜任简单的爬虫任务,前后端数据分析工程师,时不时都能写点爬虫
对于复杂爬虫而言,如何进行进行大规模数据的爬取和存储或者如何绕过复杂的认证,都不是轻易就可以搞定的,需要熟悉分布式的架构和使用、网络底层协议、各类网站前后端架构及数据加密方式,甚至要有网络安全攻防的功底,大规模数据爬虫的技术难度是成倍增加的,网上的基础教程哪里会教这些?
有业内人士表示:爬虫的本质是下载数据
但重要的是数据本身,而不是如何去下载数据,真正的、专业的爬虫,是泡在搜索引擎的数据中心里,直接读缓存的。
在业务上,爬虫的需求虽不少,但专职做爬虫的却不多,对一般公司来讲,无论从哪个方向来看,数据的爬取都不是工作重点,如果不是完全靠数据驱动的公司,对于数据的需求并没那么大,也并不需要专人专岗来写爬虫
只会用Python模拟请求,这样的岗位说难听点叫做伪岗位,就算是靠着写爬虫吃饭,大体上也吃的不太好,最好的出路其实是开课教别人做爬虫
最后,说一下关于爬虫的职业发展
爬虫始终都是是作为工具类的,掌握这个还不能作为职业发展方向,要选取更宽的例如机器学习、Web开发、数据分析等等
换句话说,单爬虫没有什么技术含量,难点也不多,天花板很容易看见
做爬虫的人一定要往数据分析、挖掘、深度学习上面靠才有往前的空间
现在市场人很多岗位中要求的爬虫,都是某个工程师顺带做做的,真正有价值的工作是如何利用爬下来的数据