1.什么是爬虫?
爬虫:就是抓取网页中的数据
2.为什么选择python做爬虫?
可以做爬虫的语言有很多,如PHP、Java、c/c++、Python
1.php虽然是世界上最好的语言,但是天生 不是干这个的,而且对多线程、异步支持不够好,并发处理能力不好。爬虫是工具性程序,对速度和效率要求比较高。
2.java的网络爬虫生态圈很完善,是python爬虫最大的对手,但是语言本身很笨重,代码量很大
3.c/c++ 运行效率和性能几乎最强,但是学习成本高,代码成型比较慢,不是正确的选择。
4.python,语法优美,代码简洁、开发效率高、支持模块多,有强大的爬虫Scrapy,调用接口方便。
3. 通用爬虫和聚焦爬虫
一般情况下,根据爬虫程序的应用场景的不同,可以将爬虫程序大致分为两种类型:通用爬虫和聚焦爬虫
通用爬虫:通用爬虫是网络搜索引擎的一部分,遵循爬虫的robot协议,负责采集网络中的网页信息内容并建立索引,在自己的搜索引擎服务器上建议网络信息的索引镜像备份文件,达到对网络上的信息内容可以快速检索的目的
robot协议:是关于网络爬虫的一种约定的协议,robot协议明确告诉了通用网络爬虫,哪些数据内容是可以爬取的,哪些数据内容是不允许爬虫采集的,如果是合法合规的爬虫程序,必须遵循robot协议约定的采集内容区域,否则可能涉及到维权行为!
通用爬虫在一定程度上满足了大量网民的需求,可以通过搜索引擎快速检索需要的网页
但是公司针对性的获取数据的场景,通用爬虫就存在了很大的限制,如通用爬虫获取的网页数据对于公司的需求来说很大一部分是无效的,因为对于分析数据来说网页中的广告信息、轮播图片信息、导航信息等等都是无效数据;公司不同的需求需要采集的数据形式也是多样的,通用搜索引擎的常规操作方式并不能完全满足这样的操作现状的;尤其是针对有特定语义化搜索的数据来说,通用搜索引擎更是无能为力的的!
聚焦爬虫: 聚焦爬虫是通过编程的方式针对特定的需要进行数据定向采集的一种手段,能更好的更加准确的采集用户需要的数据,在一定程序上能很好的满足业务数据需要。缺点在于聚焦爬虫的编码工作比较繁琐,针对不同类型的数据采集工作,需要定制化的开发不同的程序代码。然而~瑕不掩瑜的是,定向爬虫由于其特定收的采集手段,尤其是程序开发人员对于问题处理的操作方式愈发先进和自动化,聚焦爬虫更加受到公司的欢迎!