一个网络爬虫应该具备哪些功能 (网络爬虫的一般步骤是什么)

互联网虽然很复杂,但是说穿了其实就是一张大图而已。可以把每一个网页当作一个节点,把那些超链接当作连接网页的弧。很多人可能已经注意到,网页中那些带下划线的蓝色文字背后其实藏着对应的网址,当你点击时,浏览器通过这些隐含的网址跳转到相应的网页。这些隐含在文字背后的网址称为“超链接”。有了超链接,我们可以从任何一个网页出发,用图的遍历算法,自动地访问到每一个网页并把它们存起来。完成这个功能的程序叫做网络爬虫(Web Crawlers),有些文献也称之为“机器人”(Robot)。世界上第一个网络爬虫是由麻省理工学院的学生马休.格雷在1993年写成的。他给自己的程序起了个名字叫“互联网漫游者”。以后的网络爬虫尽管越写越复杂,但原理是一样的 。

我们来看看网络爬虫如何*载下**整个互联网。假定从一家门户网站的首页出发,先*载下**这个网页,然后通过分析这个网页,可以找到页面里的所有超链接,也就等于知道了这家门户网站首页所直接链接的全部网页,诸如腾讯邮箱、腾讯财经、腾讯新闻等。接下来访问、*载下**并分析这家门户网站 邮件等网页,又能找到其他相连的网页。让计算机不停地重复下去,就能*载下**整个互联网。当然,也要记载哪个网页*载下**过了,以免重复。在网络爬虫中,人们使用一种“散列表”(Hash Table,也叫哈希表)而不是一个记事本记录网页是否*载下**过的信息。

现在的互联网非常庞大,不可能通过一台或几台计算机服务器就能完成*载下**任务。比如Google在2013年时整个索引大约有10000亿个网页,即使更新最频繁的基础索引也有100亿个网页,假如*载下**一个网页需要一秒钟,那么*载下**这100亿个网页则需要317年,吐过*载下**10000亿个网页则需要32000年左右,是我们人类有文字记载历史的六倍时间。因此,一个商业的网络爬虫需要有成千上万个服务器,并且通过高速网络连接起来。如何建立起这样复杂的网络系统,如何协调这些服务器的任务,就是网络设计和程序设计的艺术了。

摘自吴军《数学之美》,边学习边分享。如有不足恳请指正!

网络爬虫的一般步骤是什么,阐述网络爬虫流程的三个步骤