|-转 为什么网上Python爬虫教程这么多,但是做爬虫的这么少呢?爬虫发展又该是如何呢?
很多人学习Python进阶可能都写过几个爬虫,但是最终做爬虫的人却比较少呢?是因为真的像别人说的那样,爬虫真的没“技术含量”,还是爬虫随着反爬的不断提升,做爬虫的代价越来越高难以维持成...
很多人学习Python进阶可能都写过几个爬虫,但是最终做爬虫的人却比较少呢?是因为真的像别人说的那样,爬虫真的没“技术含量”,还是爬虫随着反爬的不断提升,做爬虫的代价越来越高难以维持成本?还希望能谈一谈爬虫的发展该是怎样的?可能做到双赢吗?请指教
网上教程多,是因为入门简单,容易获得成就感,容易忽悠小白
爬虫就是因为太有技术含量,所以会的人少,可能看起来做的人就少了
爬虫远比我们想的复杂
大多数人会的,只是造一颗螺丝钉,而整个爬虫系统,就好比造火箭
大多数人,只掌握了入门级的水品,也就是最多能造个螺丝钉,造不出火箭
为什么我说爬虫远比我们想的复杂呢?
爬虫绝不是表面的 用requests、urllib,发个http请求那么简单
就如同 楼上的几位回答者所说,如果只是发个http请求,根本用不着专门来学,随便找个火车头之类的工具,拖几下鼠标就搞定了
实际情况中,你要抓人家的数据, 会有很多门槛:
1.人家检测出你是爬虫,拉黑你IP (人家究竟是通过你的ua、行为特则 还是别的检测出你是爬虫的?你怎么规避?)
2.人家给你返回脏数据,你怎么辨认?
3.对方被你爬死,你怎么设计调度规则?
4.要求你一天爬完10000w数据,你一台机器带宽有限,你如何用分布式的方式来提高效率?
5.数据爬回来,要不要清洗?对方的脏数据会不会把原有的数据弄脏?
6.对方的部分数据没有更新,这些未更新的你也要重新下载吗?怎么识别?怎么优化你的规则?
7.数据太多,一个数据库放不下,要不要分库?
8.对方数据是JavaScript渲染,那你怎么抓?要不要上PhantomJS?
9.对方返回的数据是加密的,你怎么解密?
10.对方有验证码,你怎么破解?
11.对方有个APP,你怎么去得到人家的数据接口?
12.数据爬回来,你怎么展示?怎么可视化?怎么利用?怎么发挥价值? ...