首页 > SEO技术 > 正文

详细解析网络爬虫的工作原理与抓取网站的过程

作者: admin     来源: 红尘画舫     发布时间: 2019-09-18 15:03:18    浏览人数:
摘要搜索引擎想要获取到网上的海量信息,那就需要排出一个程序(一种按照一定的规则,自动地抓取万维网信息的程序或者脚本)去抓取网上的信息,这个程序就被称为网络爬虫。
搜索引擎想要获取到网上的海量信息,那就需要排出一个程序(一种按照一定的规则,自动地抓取万维网信息的程序或者脚本)去抓取网上的信息,这个程序就被称为网络爬虫。在百度、360、搜搜等搜索引擎,网络爬虫又被称为搜索引擎的蜘蛛,如百度蜘蛛(Baiduspider)、360蜘蛛(360Spider)、搜搜蜘蛛(Sosospider)等;而在谷歌搜索引擎,网络爬虫则被称为google机器人(googlebot)。下面我们就来详细解析网络爬虫的工作原理与抓取网站的过程。
网络爬虫
网络爬虫的工作就是源源不断地去网上抓取信息回来,然后将索引数据存放到搜索引擎的服务器上,这个过程我们将其称之为网页的抓取,

网络爬虫工作的大致流程

由于搜索引擎都没有公布自己的网络爬虫工作的原理,因此也只能粗略估计网络爬虫工作大致的流程。
网络爬虫工作的大致流程
第一步、 首先选取一部分精心挑选的种子URL,并将这些URL放入待抓取URL队列;
第二步、服务器发送Request请求,获取相应内容(Response),如果HTTP状态码是200,则派出网络爬虫去抓取改url页面;如果是其他的状态码(如:404、500),则网络爬虫就停止抓取该url页面,并记录下来状况。
第三步、网络爬虫查看网站的robots.txt文件,如果robots协议允许,就将该url的页面内容抓取回去到服务器,如果robots协议不允许抓取,则不抓取网页数据,直接返回去,并在数据库做标记。
第四步、将URL相应的网页下载下来,存储进已下载网页库中,并将这些URL放进已抓取URL队列。
详细解析网络爬虫抓取网站的过程
第五步、分析已抓取URL队列中的页面,如果发现新的url,则将新的URL放入待抓取URL队列,从而进入下一个循环。

网络爬虫只负责发现信息、抓取信息,网页去重、网页质量等级划分等这些工作是网络爬虫把数据抓回去后算法程序的工作,网络爬虫是不参与的。

可能有的朋友会这样认为,只要一个网络爬虫进入网站后,他就会一直往下爬,然后抓取完网站的所有页面内容,其实情况不是这样的,网络爬虫可不是贪吃蛇,它只不过是抓取当前的网页信息回去罢了,经过服务器后台数据分析后,如果发现了新的url,那么会添加进未抓取的url列表,然后搜索引擎就会派出新的网络爬虫去抓取新url的网页。

其实网络爬虫更像蚂蚁寻找食物那样,网站就像是一块大的食物,一只小蚂蚁发现了食物,就会回去通知其他的小伙伴,然后一批又一批的小蚂蚁去把食物扛回去放在仓库储存起来。而不是一只小蚂蚁发现了大块的食物就自己拼命地扛回去,那样是不现实的。因此教主本人感觉网络爬虫更像蚂蚁寻找食物那样,而不像蜘蛛。将其比作蚂蚁会更贴切。
很赞哦! ()