基于python的新闻搜索引擎设计与实现 您所在的位置:网站首页 python程序设计北京大学出版社 基于python的新闻搜索引擎设计与实现

基于python的新闻搜索引擎设计与实现

2023-06-13 20:47| 来源: 网络整理| 查看: 265

摘要 :21世纪的今天互联网信息技术飞速发展,各类信息充斥着互联网,如何有效的进行信息的搜集整理成为了一个非常重要的课题。网络爬虫就是实现自动搜索互联网中的各种信息的程序,本系统通过定向的对新闻网站相关的信息进行采集分析与展示。运用计算机图形学及影像处理高新技术,数字可视化能够以图像的形式展现给用户,从而让用户能够轻松地获取、分析、掌握、应用相关的知识。它不仅能够帮助用户快速、准确地获取所需的资讯,还能够让用户能够轻松地了解到所需的信息,从而提升用户的工作效率。

本课题主要任务是通过Python开发环境设计一新闻搜索引擎系统,用户可以进行新闻数据采集、新闻搜索引擎、兴趣可视化分析、个性化新闻推荐等操作,采用柱状图、词云图等可视化方式展示给用户,提供给用户进行数据的分析。在这篇文章中,我们将深入探讨这个话题的重要性,并讨论当前的网络爬虫领域的最新进展。我们还将探讨有关的系统知识与技术,并对其进行详细的需求分析。其次是系统设计,包括概要设计、模块设计、数据库设计。最后对系统进行了详细设计和测试。

关键词  信息爬取;Python;可视化展示;新闻搜索引擎

爬虫是一类非常复杂的生物,它们的类型因其特性而异。根据其特性,爬虫可以大致划分为深度爬虫、集中爬虫(Focused Crawler)、普遍爬虫(General Crawler)。这些类型的差异取决于爬虫的特性、架构、战斗策略等因素。

1通用爬虫

通用爬虫的爬取流程过程如下:主要算法为广度优先,先从给定的页面进行信息的爬取,爬取到内容进行保存,爬取出新的链接,不分顺序,直接放入到队列里面,等待继续爬取,这样一直扩散爬取到整个网站,知道满足设定的条件而停止。通用爬虫的优点:爬取数量大、爬取内容多(主要应用到搜索引擎,例如谷歌、百度、搜搜等)。缺点也比较明显,由于见啥爬啥,效率也比较低。由于爬取的东西多而杂,对存储要求也特别高,但是现在存储空间特别大,计算机内存大,cpu的计算速率也特别高,所以能够弥补通用爬虫的缺点。

通用爬虫的体系结构如图 2-1 所示,主要包含4大部分,分别为初始 URL模块,URL 队列模块,爬行模块和重复链接过滤模块。爬行模块抓取给定的初始 URL 对应的页面,重复链接过滤模块负责把访问过的链接过滤掉,过滤后的 URL 添加到 URL 队列中,重复这一过程。

 图 2-1通用爬虫体系结构

3.2功能需求分析

本系统目标是设计一个新闻搜索引擎系统,主要功能需求包括以下方面:

1信息收集:在网站设计中,首先,要收集信息,从目标网址站上收集信息,将其它网站上收集的信息保存到数据库中。

2展示实现:通过对信息的处理后,可以将结果以图形的凡是显示给用户,这些信息显示要满足简单、直观、交互性良好等具体目标和要求。

3安全管理:安全管理可以分为系统安全和数据安全,系统的安全需要做好程序判断和更新维护,数据安全需要做好数据备份。

基于Python的新闻搜索引擎系统中,爬虫、搜索引擎和jieba分词都是非常重要的组成部分,具体应用如下:

1.爬虫:爬虫用于从网站中抓取所需的新闻数据,并将其保存在数据库中,以便于下一步的搜索和分析。Python常用的爬虫库有BeautifulSoup、Scrapy等,具体的爬虫实现需要根据不同的需求进行定制。

2.搜索引擎:搜索引擎是搜索功能的核心,可以对爬虫抓取的新闻进行建立索引,以便于关键词搜索和相关性排序。Python常用的搜索引擎库有Whoosh、ElasticSearch等,可以根据实际需求进行选择,并进行相关的配置和优化。

3.jieba分词:中文分词是非常重要的一环,可以将新闻按照词语进行切分,以便于建立倒排索引和进行搜索关键词匹配。Python中常用的中文分词库有jieba、THULAC等,jieba分词是一个开源的中文分词库,具有分词速度快、准确度高、易用性强等优点,是Python中常用的中文分词工具之一。

综上所述,爬虫、搜索引擎和jieba分词都是基于Python的新闻搜索引擎系统中的重要技术,它们为搜索功能的实现提供了强有力的技术支持,可以帮助用户快速找到所需的新闻信息,提高搜索效率和用户满意度。

3.3系统性能分析

良好的运行状态是提升用户体验的关键因素。而性能的好坏又取决于系统的架构的好与坏。一个优秀的系统架构一般包含以下几个方面:

1模块化设计明确。一个大的系统,分为很多小的模块,每个模块的划分清晰明确,每个模块的功能明确,且模块之间可以灵活的调用,实现低耦合高内聚。

2模块的划分,分为很多种类,要保证通用模块实现灵活的调用,特殊模块,可以随时根据系统功能等的变更及时进行更改。让系统的灵活性更高。

3稳定、安全、高效的数据建模。数据是整个系统的仓库,只有一个稳定、安全、高效的仓库,才能为系统提供好的数据存取和变更。

4整体结构稳定而又灵活。系统的整体架构在初期部署的时候,一定要有高度 ,不但结构清晰,运行稳定,当运行出现问题的时候,能够提供快速的解决方案。

3.4系统运行环境分析

1开发硬件环境:

CPU:酷睿I 5及以上

内存:4G以上

硬盘:320G以上

2 开发软件环境:

操作系统:Windows 7

开发语言:python

系统整体框架结构如下图4.1所示。

 图 4.1系统整体框架结构

5.2系统实现界面

5.2.1登录界面

登录界面如图5.2所示。

 图5.2 登录界面

 图5.3 注册界面

5.2.2系统功能实现界面

新闻数据采集信息展示界面。如图5.4

 图5.4新闻数据采集展示界面

新闻搜索引擎信息展示界面。如图5.5

 图5.5新闻搜索引擎展示界面

兴趣可视化分析信息展示界面。如图5.6

 图5.6兴趣可视化分析展示界面

参考文献

[1]龙虹.信息爬取系统[M].北京理工大学出版社.2017.3.

[2]薛华成.数据可视化分析信息系统[M],北京:清华大学出版社,2016.

[3]刘超,唐彬.Python案例开发集锦[M],北京:电子工业出版社,2018.

[4]蒋宗礼,马涛,唐好魁,闫明霞等.数据可视化技术及应用(第2版)[M].电子工业出版社,2020:43-65.

[5]庭宝等.精通Python [M],北京:电子工业出版社,2018.

[6]艾伦(Grant Allen),欧文斯(Mike Owens),杨谦,刘义宣. Python权威指南(第2版)[M],电子工业出版社,2016(01):25-65.

[7]李盛恩,王珊.数据库基础与应用(第二版)[M].北京:人民邮电出版社,2017:14-78.

[8]曹岩,王海宇.Python应用程序开发实例应用于技巧(上基础篇)/21世纪工程应用计算机技术丛书[M],西安:西安交通大学出版社,2018.

[9]萨默菲尔德(Mark Summerfield),吴迪,戚彬,高波.python高级编程[M],电子工业出版社,2016(04):60-82.

[10]张雨. 融合用户聚类和协同过滤的新闻推荐系统设计与实现[D].山东师范大学,2019.

[11]陈思雯,刘海砚.面向网络新闻的爬虫开发与热点新闻事件分析[J].测绘与空间地理信息,2019,42(03):100-103+108.

[12]汤雪巧,许周腾.新闻自媒体采集系统的设计与实现[J].广播与电视技术,2019,46(02):29-32.

[13]Yoshifumi Seki,Mitsuo Yoshida 0001. Analysis of Bias in Gathering Information Between User Attributes in News Application.[J]. CoRR,2019,abs/1909.00554.

[14]左卫刚.基于Python的新闻聚合系统网络爬虫研究[J].长春师范大学学报,2018,37(12):29-33.

精力有限就写这么多,具体系统展示有视频链接。

目录

1   引言

1.1 1.1研究背景及意义

1.2 网络爬虫的发展现状

1.3 本课题主要工作

2 相关技术简介

2.1 Python简介

2.2 爬虫简介

2.3 PyEcharts

2.4 数据挖掘简介 7

3 系统分析

3.1 可行性分析

3.2 功能需求分析

3.3 系统性能分析

3.4 系统运行环境分析 1

4 系统设计

4.1 设计目标及原则

4.2 整体框架

4.3 系统流程设计

4.4 数据库实体

4.5 数据表设计

5 系统实现 16

5.1 信息爬取 16

5.2 系统实现界面

6 软件测试与分析

6.1 测试环境与测试条件 0

6.2 功能测试 20

6.3 性能测试 0

6.4 测试用例 1

6.5 系统运行情况 21

结  论 22

致  谢 23

参考文献 24



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有