搜索引擎,顾名思义,便是一种用于搜索信息而产生的工具。一般解释而言,便是通过用户的需求,和一定的算法,将用户输入的关键词与互联网上现存的信息进行匹配,并按照相关度和时间顺序,将符合要求的信息罗列在用户的眼前。
搜索引擎这门生意讲究的是个先来后到。如果能在最早的时候将知名论坛和网站的内容全部爬取,那就会在用户占有率上占尽优势。
要知道在这个时间点,日后驰名全球的寻他公司和布谷公司还在娘胎里,呀唬公司的搜索引擎虽然已经诞生,但其底层技术依旧是依靠人工存放网站目录,可谓是效率极其低下。
现在已经有互联网信息爆炸的趋势了,随着信息越来越多,人工处理流程必将被淘汰,而王向中设想的,则是抢在市场最前列,将新一代的搜索引擎提前面世。
实际上做一个搜索引擎并没有看上去那么轻松。首先是代码问题,这个年代网页技术还停留在Web1.0(互联网1.0)的时代,先暂且不提Ajax(AsynchronousJavascriptAndXML,异步JavaScript和XML)这种动态页面刷新机制,就连JavaScript(一种Web页面脚本语言)都还尚未出现。
还好Windows公司相当强大,早在1996年发布了ASP1.0(ActiveServerPages,动态服务器页面),这也让王向中不必苦哈哈地用大量C语言进行后端代码编写工作。
接下来就是数据的爬取和存储问题。这话虽然听起来很高端,但实际上也就是将数据从别的网站上摘下来,进行索引和关键词分配的简单加工后存储的过程。
这个时候Python语言尚还叫ABC语言,很显然在这个年代使用这个失败的产品是不太合适的,使用更加成熟的C++也许可以解决一些问题。
将爬虫模型简单地铺开来讲,最基础的爬虫,便是通过程序直接访问网页的源代码,通过正则表达式匹配出网页的标题和其具体内容,再接着分析网页内的超链接所指向的页面,逐步将整个网站的内容收入囊中。
再接下来便是数据的存储问题。MySQL(一种关系数据库管理系统)可以完美地代替文本文档进行数据存取,因为它有一项对于搜索引擎而言重要的功能——索引。
索引可以给一条数据给予定义。举个最简单的比方,为了节省空间,图书馆的书一般是纵向摆放,而在每本书的侧面上,都写有书