爬虫与反爬虫是两类互斥的应用,它们争斗了多年。就像病毒程序与反病毒程序,永远是先有病毒程序,再有反病毒程序一样,爬虫程序总是先诞生,然后网站服务商就会想尽办法不让爬虫抓取自己的数据,它们经过了多年的战争,互有胜负。那么它们为什么水火不容呢?其实原因很复杂,当然,有时网站是希望自己的内容被抓取的,如被Baidu、google等搜索引擎抓取,然后被收录。但更多时候,网站被大量爬虫抓取数据,将会酿成一场灾难。而作为程序员来说,同时掌握爬虫和反爬虫技术非常必要,因为不管自己的雇主需要爬虫,还是反爬虫,自己都能游刃有余地应对。
爬虫,也叫网络爬虫或网络蜘蛛,主要的功能是下载Internet或局域网中的各种资源。如html静态页面、图像文件、js代码等。网络爬虫的主要目的是为其他系统提供数据源,如搜索引擎(Google、Baidu等)、深度学习、数据分析、大数据、API服务等。这些系统都属于不同的领域,而且都是异构的,所以肯定不能通过一种网络爬虫来为所有的这些系统提供服务,因此,在学习网络爬虫之前,先要了解网络爬虫的分类。
如果从按抓取数据的范围进行分类,网络爬虫可以分为如下几类。
•全网爬虫:用于抓取整个互联网的数据,主要用于搜索引擎(如Google、Baidu等)的数据源。
•站内爬虫:与全网爬虫类似,只是用于抓取站内的网络资源。主要用于企业内部搜索引擎的数据源。
•定向爬虫:这种爬虫的应用相当广泛,我们讨论的大多都是这种爬虫。这种爬虫只关心特定的数据,如网页中的PM2.5实时监测数据,天猫胸罩的销售记录、美团网的用户评论等。抓取这些数据的目的也五花八门,有的是为了加工整理,供自己的程序使用,有的是为了统计分析,得到一些有价值的结果,例如,哪种颜色的胸罩卖的最好。
更详细的请看下面的视频吧:https://v.qq.com/x/page/k0944cra2sa.html