为什么c语言不适合写爬虫

Python030

为什么c语言不适合写爬虫,第1张

有更加成熟的一种爬虫脚本语言,而非框架。是通用的爬虫软件ForeSpider,内部自带了一套爬虫脚本语言。

从一个专业C++程序猿的角度说,网上流传的各种Java爬虫,Python爬虫,Java需要运行于C++开发的虚拟机上,Python只是脚本语言,采集效率和性能如何能与强大的C++相提并论?C++直接控制系统的底层,对内存空间的控制和节省都是其他语言无法竞争的。首先,forespider的开发语言是C++,而且C++几乎没有现成的框架可以用,而火车采集器是用的C#。先从业界水平和良心来说,这个软件可以做到从底层到上层都是他们的技术人员自己写的,而非运用现成的框架结构。

其次,因为抓取金融行业的数据,数据量大,动态性强,而采集对象一般反爬虫策略又很严格。所以,专门建立团队开发不现实。请外包人员开发太贵。买现成的软件,要考虑性价比。因为很多数据需要登录,需要验证码,是JS生成的数据,是ajax,是https协议,有加密的key,有层层的验证机制等等,分析市面上所有找得到的爬虫软件,没有找到其他一家可以完全把我们列表上的网站采集下来的软件。forespider功能强大,这是很重要的一点。

第三,forespider在台式机上运行一天可以采400万条数据,在服务器上一天可以采8000万条数据。这样一来,数据更新速度明显比以前快了几十倍。从前抓一个7500万的网站需要好几个月,等抓完数据早都变化的不成样子了,这是很多爬虫的痛处。但是现在的更新速度只有两三天。forespider的性能强大,这也是非常好的一点。

第四,其实完全可视化的采集也不需要计算机专业的。大致学习了之后就可以上手采。而且forespider关于数据的管理做的很好。一是软件可以集成数据库,在采集之前就可以建表。二是数据可以自动排重,对于金融这样数据更新要求很高的行业,就特别合适。

C语言学习比较困难,不适合零基础学。主要是有几个原因,一个是它C 语言的语法知识太多有点太过于琐碎,碎了。第二个就是他C 语言反复的算数类编程练习,有些人会不感兴趣,然后就不愿意写程序就觉得入门很困难。

没人说C不适合大程序.比如linux内核就是纯C的,那可不是什么小程序.

C不适合的地方只是开发成本和运行成本不匹配的情况下.比如一个程序只运行一次,而且对时间上没有太多的要求,比如可以运行一周到一个月之间,用脚本可以在一周内开发完成并在一个月内运行完,就不要花一人月开发然后运行一周看到结果了. 非你要用很多人共用的大型计算设备.这时候才考虑机器的时间.通常人的时间比机器贵.

而且,足够大的解决方案中,并不是限定一种编程语言的.核心的,而且要求高效的部分可能会用C/C++甚至手写汇编来实现.外围的部分多是用 java /C# /Ruby/Python 等等一些开发周期短的语言实现.

最后当然是考虑可行性了,比如你在一个没有jvm clr等运行环境的平台上写程序,当然首先是C C++ 和汇编了.如果你在一个有java 的解释器的情况下,如果效率上能满足,那就用java 做,如果只支用C就用C,主要的是看成本,学java也是一种成本.