首先展示一下项目效果图:
前言:
本项目会指导大家从零开始开始构建一个针对于新浪新闻的搜索引擎.首先我们明确一下我们的目标和所需要做的工作:
目标:
- 构建一个搜索引擎
所需工作:
- 准备数据
- 一个搜索引擎的查询算法
- 一个为每个新闻的推荐其他相似新闻的算法
所以下面我会分这三个部分来介绍这个项目,目前这个项目已经开源.开源的地址:
https://github.com/lsq960124/News_Search_Engine
欢迎star.
准备数据
打造一个搜索引擎有一个很重要的基础,就是我们需要有满足搜索引擎的数据。我们的目标是打造一个新闻类的搜索引擎,所以我们需要得到新闻的数据。关于得到新闻的数据,我们基于下面的步骤:
- 首先获取新浪新闻不同业务板块下的新闻页面的所有链接。
- 循环上面所有的链接爬取其新闻的内容信息。
以上面的步骤来看,首先我们需要一个新浪新闻链接的爬虫,来爬取新浪新闻对应新闻链接数据。作为一个新闻的搜索引擎,我们希望它不同与百度,新闻类的搜索引擎,应当可以按不同的新闻类别做一定的筛选,比如体育,财经...所以在我们爬取新闻的时候,还需要保存每个新闻对应的类别,也就是频道。
从新浪新闻的主页可以看到新浪新闻以及帮我们做好了很多新闻类别的分类。得到这个信息后,我们可以以每一个类别对应的根目录作为起始,来爬取这个类别下的所有新闻。我们以体育类别为例子,其根目录为:http://sports.sina.com.cn/。而每个关于体育类别新闻的URL都是类似下面的组成:http://sports.sina.com.cn/china/natio