基于Python的Django框架实现的人物信息检索系统

基于Python的Django框架实现的人物信息检索系统 1 简介 这是一个利用Django搭建的一个人物信息检索系统,大约从Wikipedia爬取了10000 个人物信息

本文包含相关资料包-----> 点击直达获取<-------

基于Python的Django框架实现的人物信息检索系统

1 简介

这是一个利用Django搭建的一个人物信息检索系统,大约从Wikipedia爬取了10000 个人物信息,并且提取了其中 Infobox 的对应信息。

对于 Wikipedia 中爬取的信息,我们重新组织了其格式并且进行显示。

左侧为搜索页面,右侧为搜索结果,匹配的字段被高亮显示。

对于已经爬取的信息,我们提供了一个对其进行搜索的页面,可以根据关键词在 其中搜索,并且还可以根据原先 Infobox 中的标题进行特定字段的查询(例如 Born、 Died、Name、Nationality 等),同时还可以让用户自行添加可以查询的字段。

搜索的结果按照匹配的关键字个数从高到底排序后显示,如果结果过多将会分页显 示。同时匹配的关键字会被高亮标出。

左侧为搜索结果过多时的分页显示效果,右侧为按照字段搜索 Born 中含 1997 的人物结果。

Alan Turing 信息的展现。

2 部分实现

爬虫部分利用 BeautifulSoup 来处理获取的页面,提取 Infobox 中的信息。

具体来说,人物超链接的爬取是通过寻找 ID 为 mw-content-text 的元素下所有 li 标签的第一个超链接来实现的。在爬取完毕后检查是否存在 infobox,如果存在则开始 提取信息。由于其中信息具有一定规律(例如大部分信息是以标题、内容的形式来组织 的),只需要用 BeautifulSoup 提取相应的 以及 部分即可。 前端界面利用 Bootstrap 来优化显示效果。

关于数据的存储,在提取出信息后利用 JSON 来保存在 sqlite 数据库中,并且额外 提取出一个关键字字符串用于搜索。对于每个人物都会分配一个唯一的 ID 以方便索引。 分页功能利用了 Django 自带的 Paginator 类。查询关键词的高亮以及自定义字段 搜索框的增加与删除使用 Javascript 在前端完成。

参考文献

  • 文本搜索引擎的探究与设计(华南理工大学·张立)
  • 基于Docker的智能云平台系统的设计与实现(华南理工大学·曾圣钊)
  • XX公司人力资源管理系统的设计与实现(电子科技大学·龚畅)
  • 基于JAVA平台的企业人事档案管理系统的设计与实现(吉林大学·王晓君)
  • 基于JAVA平台的企业人事档案管理系统的设计与实现(吉林大学·王晓君)
  • 基于J2EE的分布式信息检索查询平台的研究(北京化工大学·高峰)
  • 基于J2EE的分布式信息检索查询平台的研究(北京化工大学·高峰)
  • 基于云的统一身份智能信息管理系统设计实现(华南理工大学·水凯凯)
  • 基于Docker的智能云平台系统的设计与实现(华南理工大学·曾圣钊)
  • 网络新闻中人物识别系统的设计与实现(北京邮电大学·刘畅)
  • 基于Docker的智能云平台系统的设计与实现(华南理工大学·曾圣钊)
  • 基于Python的非结构化数据检索系统的设计与实现(南京邮电大学·董海兰)
  • 基于JavaEE和XML的分布式信息检索系统设计与实现(山东大学·牛拥军)
  • 基于Java平台的网络资源搜索系统的设计与实现(电子科技大学·李梦雅)
  • XX公司人力资源管理系统的设计与实现(电子科技大学·龚畅)

本文内容包括但不限于文字、数据、图表及超链接等)均来源于该信息及资料的相关主题。发布者:代码向导 ,原文地址:https://m.bishedaima.com/yuanma/35271.html

相关推荐

发表回复

登录后才能评论