当前所在位置: 首页 > 论文范文 > 正文

基于Google 搜索路径的课程信息垂直搜索引擎(第3页)

本文共计7493个字,预计阅读时长25分钟。【 字体:

论文指导服务

毕业论文网专业团队提供毕业设计、论文写作指导及相关咨询服务

论文指导 毕业设计 答辩咨询
微信号已复制到剪贴板

  构来获得课程简介,算法伪代码见图 2:

  (4)1. 根据 2.1 获得的 URL 地址初始化 HTMLParser 的分析器 parser,设置编码方式

  2. 根据 WEB 页面结构选择适合的 Filter,比如本页面要提取课程简介,则该节点必定含有关键词

  Description,因此选用 StringFilter coursefilter = new StringFilter("Description")

  3. NodeList nodelist =过滤得到的所有 Description 节点

  4. if (nodelist.size() == 0) {

  //dexcription 不存在,相当于本页不存在,因为只要页面存在就必定含有 Description 结点

  return null; //说明本 URL 地址的页面不存在}

  5. else(dexcription 存在) {

  重置 HTMLParser 的 parser,根据 WEB 页面结构选择更加精确的 filter

  //通过对页面的源码分析发现课程简介的源码组织方式都为

  //

课程简介

  //因此设置用 AndFilter 将 filter 设置为必须同时满足3个条件

  AndFilter andfilter =结点名为+有父结点

+有 size=2 的属性

  nodelist = 过滤得到的符合 andfilter 的所有节点

  foreach(符合条件的节点)

  if (长度(String.length)大于 50) {

  //课程简介长度字数必大于 50,过滤字数小于 50 的节点

  return des; }

  图 2 getDexcription()函数伪代码

  Fig2 pseudocode of function getDescription()

  2.2.2 学院包装器类

  CivilAndEnvironmental.java 继承(extends)于 Extractor.java 主要包括两个函数:

  (1) getTeachers(),通过分析 WEB 页面结构获得教师信息,并存储于 teacherList,

  伪代码见图 3:

  1. 初始化 teacherList,数据,类型为 ArrayList

  2. 根据 WEB 页面结构选择 filter,教师名的结点形式为< strong >教师名< /strong >,因此选用含有 strong

  属性的 TagNameFilter filter = new TagNameFilter("strong")

  3. NodeList nodelist =过滤得到的所有节点

  4. foreach(节点)

  String temp=节点的 firstChild

  if (temp 是教师名字,要过滤掉不以字母开头的节点) {

  if(有教师主页信息){

  teacher = temp; //提取教师姓名元数据

  teacherHome = prefix + first name +后缀.htm; //提取教师主页地址元数据

  } else(没有教师主页信息) {

  教师主页地址默认为 prefix,不为 teacherHome 赋值

  teacher =temp; //提取教师姓名元数据}

  将提取到的该名教师的信息加入到 teacherList 中去

  图 3 getTeachers()函数伪代码

  Fig3 pseudocode of function getTeachers()

  (2) getCourses(String page, String suffix),通过分析 page 的页面结构获得课程名称以及

  教授该门课程的教师的 First Name,然后在 teacherList 中查找教师的全名及教师主页。对每

  1个课程,调用基类的 getDescription()获得课程简介。当课程的所有信息都取到值后,调用 基类的 insert()函数,将该课程插入到索引中去。算法伪代码见图 4:

  2.2.3 索引维护类

  抽取 WEB 页面数据并将写入 Lucene 的索引之后,为了提高精度和准度,编写了索引

  维护类。 遍历索引 , DeleteRepeated 删除 name 和 url 两 个值都相 等的项;

  SelectRealOnesForCMU 根据卡耐基梅隆大学课程编号的统1形式,用正则匹 配

  [0-9]{2}-[0-9]{3},(即判断索引中的 name 域的值是否以“两个数字”+“-”+“3个数字”开头), 如果不是,说明不是卡耐基梅隆大学课程的索引项,删除该项。

阅读全文