1 系统介绍
1.1 系统需求
新闻检索系统:定向采集不少于 4 个中文社会新闻网站或频道,实现这些网站新闻信息及评论信息的自动爬取、抽取、索引和检索。本项目未使用 lucene,Goose 等成熟开源框架。

1.2 系统思路与框架
本系统总体的实现思路如图 1 所示:


一个完整的搜索系统主要的步骤是:

对新闻网页进行爬虫得到语料库

抽取新闻的主体内容,得到结构化的 xml 数据

内存式单遍扫描索引构建方法构建倒排索引,供检索模块使用

用户输入查询,得到相关文档返回给用户

2 设计方案
2.1 新闻爬取
2.1.1 算法简述
该模块针对搜狐,网易,腾讯三大主流新闻网站及官方的参考消息网站进行了新闻获取。并基于其网站结构,设计了不同的爬取模式。由于网站架构两两相似,以下选取两种类型的典型代表进行介绍:

(1)搜狐新闻
搜狐新闻除正常主页外,存在隐藏的列表式新闻页 , 如 http://news.sohu.com/1/0903/62/subject212846206.shtml 。

(2)网易新闻
可以将网易新闻及腾讯新闻归结为一般类型的新闻主页,我们采用了自新闻主页开始的广度优先的递归爬取策略。注意到新闻的正文页往往是静态网页.html,因此,我们将网页中出现的所有以.html 结尾的网页的 URL 均记录下来,在爬取到一定量时,进行一次去重。

对于一些不是新闻的错分网页,容错处理即通过检查新闻正文标签

时会被剔除。

新闻正文页中我们重点关注内容,时间,评论获取。

2.1.2 创新点
实现了对新闻网页动态加载的评论进行爬取,如搜狐新闻评论爬取

未借助开源新闻爬取工具,自己实现了对新闻标题,正文,时间,评论内容,评论数目的高效爬取

2.2 索引构建
分词,我们借助开源的 jieba 中文分词组件来完成,jieba 分词能够将一个中文句子切成一个个词项,这样就可以统计 tf, df 了

去停用词,去停词的步骤在 jieba 分词之后完成

倒排记录表存储,词典用 B-树或 hash 存储,倒排记录表用邻接链表存储方式,这样能大大减少存储空间

倒排索引构建算法使用内存式单遍扫描索引构建方法(SPIMI),就是依次对每篇新闻进行分词,如果出现新的词项则插入到词典中,否则将该文档的信息追加到词项对应的倒排记录表中。

2.3 检索模块
2.3.1 检索模式
(1)关键词检索
查询即根据用户输入的关键字,返回其相应的新闻。首先根据用户的查询进行 jieba 分词,记录分词后词项的数量以字典形式进行存储。



完整的源码和详细的文档,上传到了 WRITE-BUG技术共享平台 上,需要的请自取:

https://www.write-bug.com/article/3122.html

[内附完整源码和文档] 基于python的新闻检索系统相关推荐

  1. python优秀源码新闻系统_[内附完整源码和文档] 基于python的新闻检索系统

    1 系统介绍 1.1 系统需求 新闻检索系统:定向采集不少于 4 个中文社会新闻网站或频道,实现这些网站新闻信息及评论信息的自动爬取.抽取.索引和检索.本项目未使用 lucene,Goose 等成熟开 ...

  2. [内附完整源码和文档] 基于JSP的网上订餐系统

    摘 要 随着社会不断的更替发展,科技日新月异,人们的饮食生活方式以及作息等等方面都发生了翻天覆地的变化.发展到现今社会,人们的饮食方式不再局限于传统的在饭店中就餐,越来越多的人开始使用网上订餐,网上订 ...

  3. [内附完整源码和文档] 基于JSP的企业快信系统的设计与实现

    摘 要 计算机网络的出现到现在已经经历了翻天覆地的重大改变.因特网也从最早的供科学家交流心得的简单的文本浏览器发展成为了商务和信息的中心.到了今天,互联网已经成为了大量应用的首选平台,人们已经渐渐习惯 ...

  4. [内附完整源码和文档] 基于Java的电脑销售系统

    摘 要 电脑管理是通过采购.仓储.综合.出库.配送等活动,解决物资供需之间存在的时间.空间.数量.品种.价格等方面的矛盾,以此衔接社会生产的各环节,从而确保生产的顺利进行.随着社会经济的发展,当企业的 ...

  5. [内附完整源码和文档] 基于Android的手机音乐播放器的设计与实现

    摘 要 随着Android系统和移动互联网的快速崛起,手机已经成为人们生活不可缺的一部分,在现代人的生活中,人们生活节奏的加快,生活压力越来越大,碎片化的时间越来越多,那么一个可以在碎片化的时间内调节 ...

  6. 投票源码程序_[内附完整源码和文档] 基于JSP实现的影视创作论坛系统

    摘 要 随着时代的发展,互联网的出现,给传统影视行业带来的最大便利就是,方便了影视从业人员以及爱好者的交流和互动,而为用户提供一个书写影评,阅读影评以及回复影评的平台,以影评为载体来使用户感受影评.解 ...

  7. java 最少使用(lru)置换算法_[内附完整源码和文档] 基于C#的可视化虚拟存储器管理(LUR算法)...

    一.目的要求 理解虚拟存储器概念,并掌握分页式存储管理地址转换和缺页中断的处理过程.用高级语言模拟请求分页式虚拟存储器的工作过程和页面置换算法LRU. 二.准备知识 2.1 分页式存储管理原理 在存储 ...

  8. [内附完整源码和文档] 基于JSP的网上订餐管理系统的设计与实现

    摘 要 随着科学技术与经济的快速发展,网络信息技术也有了显著的提升与进步,当今的社会是一个集数字化,网络化,信息化的,并且是以网络为核心的现代化社会.伴随信息互联网的高速成长,使得互联网应用也走进家家 ...

  9. [内附完整源码和文档] 基于JSP网上招聘系统的设计与实现

    摘 要 随着时代的发展,中国的互联网技术愈加成熟,已经有越来越多的社会群体开始学会使用互联网技术,整个社会正在朝着智能化.信息化的方向前进.有了互联网,用户便可以足不出户地利用互联网技术使得自己的生活 ...

最新文章

  1. 常用命令linux下vi编辑器命令大全
  2. 华为人工智能计算机平台,华为发布首个人工智能移动计算平台
  3. Redis(八):Zset有序集合数据类型详解
  4. python pip下载安装教程_python详细安装pip教程
  5. Script:列出没有主键或唯一索引的表
  6. 【重磅推出】推荐系统系列教程之九:解密“看了又看”和“买了又买”(Item-Based)...
  7. jquery-easyui中datagrid扩展,隐藏显示表头功能
  8. 树莓派2代干货帖(第一天)按图索骥的搭建
  9. 视图Ext.Viewport和窗口Ext.Window用法
  10. ati开源驱动_ATI Radeon 9800 Vista驱动程序-Flash和Windows视频停止或卡顿
  11. 计算机原理探究第一部分教案,高中信息技术《计算机结构原理初步》教案
  12. 无线投影服务器连接投影仪,投影仪如何实现无线连接投影?
  13. echarts之柱状图(2)
  14. Debug以及解题思路
  15. WORD 分栏后 页码混乱
  16. 阿里P8整理Mysql面试题答案,助你面试“脱颖而出”
  17. python 条形图填充疏密_如何用箭头填充pyplot条形图的条形图?
  18. 关于xpe和wes2009
  19. python保存变量到本地,下次读取。
  20. 如何在 Vue 中导出数据至 Excel 表格 - 卡拉云

热门文章

  1. PaxosLease
  2. 【NOIP模拟赛】【乱搞AC】【贪心】【模拟】匹配
  3. 事务Read Committed (读已提交)和Repeatable Read(可重复读)到底什么区别?
  4. 周计划周记录:2022年6月6日-2022年6月12日
  5. 神经网络的前向和反向传播
  6. 刷题记录:牛客NC20154[JSOI2007]建筑抢修
  7. 小时候跟妈妈去外婆的路为什么那么遥远,而今天我几分钟就走了一半--清明节回家记
  8. Chrome 调试 websocket
  9. RSocket FAQ精选
  10. 不能bostype没有元数据异常_金蝶EAS_BOS工作笔记