在云服务器ECS上用Python写一个搜索引擎
一、场景介绍
一台阿里云ECS云服务器就是一台带有公网IP地址的计算机。用户可以通过远程登录使用这台计算机;同时,由于带有公网IP,用户在ECS云服务器上部署的网站、APP、小程序等,可以被其他人通过互联网访问。
本实验应用PageRank算法,使用Python,在一台ECS云服务器上搭建了一个简易版的搜索引擎。可以用单个英文词语作为搜索词,搜索相关的网页。实现的效果如下图所示。在搜索框中,输入搜索词,例如"universe",单击搜索,搜索引擎即会按相关度从高到低,列出相关的网页。
二、搜索引擎的组成
本案例中的搜索引擎由两部分组成:网页的爬取及排序,以及用户使用搜索引擎进行搜索。
2.1 网页的爬取及排序
首先,搜索引擎需要从互联网上爬取网页。爬取到网页后,做两方面的工作:
-
获取网页间的超链接关系,使用PageRank算法对网页进行排序。PageRank算法的基本原理是,被引用越多的网页(即获取的超链接越多),重要性越高,类似于被引用次数越多的学术论文重要性越高的原理。对算法的说明可参考下面这本书:Google’s PageRank and Beyond: The Science of Search Engine Rankings。
-
编制搜索词的索引。从网页中提取词语,分析这些词语出