计算机应用 | 古代文学 | 市场营销 | 生命科学 | 交通物流 | 财务管理 | 历史学 | 毕业 | 哲学 | 政治 | 财税 | 经济 | 金融 | 审计 | 法学 | 护理学 | 国际经济与贸易
计算机软件 | 新闻传播 | 电子商务 | 土木工程 | 临床医学 | 旅游管理 | 建筑学 | 文学 | 化学 | 数学 | 物理 | 地理 | 理工 | 生命 | 文化 | 企业管理 | 电子信息工程
计算机网络 | 语言文学 | 信息安全 | 工程力学 | 工商管理 | 经济管理 | 计算机 | 机电 | 材料 | 医学 | 药学 | 会计 | 硕士 | 法律 | MBA
现当代文学 | 英美文学 | 通讯工程 | 网络工程 | 行政管理 | 公共管理 | 自动化 | 艺术 | 音乐 | 舞蹈 | 美术 | 本科 | 教育 | 英语 |

面向主题的搜索引擎的设计与实现网络毕(6)

2013-09-03 01:04
导读:TTP ( Hypertext Transfer Protocol ) 协议基础上,而HTTP又是建立在TCP/IP ( Transmission Control Protocol / Internet Protocol ) 协议之上,它同时也是一种Socket协议。所以网络机
TTP ( Hypertext Transfer Protocol ) 协议基础上,而HTTP又是建立在TCP/IP ( Transmission Control Protocol / Internet Protocol ) 协议之上,它同时也是一种Socket协议。所以网络机器人本质上是一种基

       

 主词典

            

同义词词典                                                            蕴含词词典


图4.3 词典结构

表2 倒排索引存储方法

于Socket的网络程序。

Web中的信息都是建立在HTML协议之上的,所以网络机器人在检索web文档时的第一个问题就是如何解析HTML。在解决如何解析之前,先来介绍下HTML中的几种数据。

(1) 文本

除了脚本和标签之外的所有数据。

(2) 注释

程序员留下的说明文字,对用户是不可见的。

(3) 简单标签

由单个表示的HTML标签。

  (4) 开始标签和结束标签

  用来控制所包含的HTML代码我们在进行解析的时候不用关心所有的标签,只需要对其中几种重要的进行解析即可。

  (5) 超连接标签

  超连接定义了WWW通过Internet链接文档的功能。他们的主要目的是使用户能够任意迁移到新的页面,这正是网络机器人最关心的标签。


  5 系统详细设计与实现

  5.1 数据库设计

  本课题中采用MYSQL数据库存储相关数据,MYSQL数据库适用于中小型企业,它是一种的开源的数据库,用户可以根据自己的需要对它进行完善,它也具有较强的稳定性,也能支持很多种,能满足本课题的需要;在实现该系统的过程需要创建七个表用于数据存储;sites表用于存放web文档;links表用于存放web文档中的链接,stop_keywords用于存放停止词,停止词是指那些在文档中经常出现但又没有任何实际意义的词;keywords表用于存放关键词;categories表用于存放web文档类别;site_category表用于存放web文档类别与web文档间的对应关系;temp表用于存放待抓取的URL,另外还有未列出的三个字典表,dictionary表用于存放主词典,syn_dictionary表用于存放同义词典,con_dictionary表用于蕴含词典。

create table sites(

       site_id int auto_increment not null primary key, 

       url varchar(255),                       

title varchar(255),                 

       content text,

       indexdate date,

       spider_depth int default 2,

       required text,

       disallowed text,

     can_leave_domain bool);

create table links (                       

       link_id int auto_increment primary key not null,

       site_id int,

       url varchar(255) not null,

       title varchar(200),

       description varchar(255),

       fulltxt mediumtext,

       indexdate date,

       size float(2),

       level int);

create table stop_keywords     (                 

stop_keyword varchar(30)  primary key not null,

lang char(2))

create table keywords      (                          

       keyword_id int primary key not null auto_increment,

       keyword varchar(30) not null,

    index text

 );

create table categories(

       category_id integer not null auto_increment primary key,

       category text,

       parent_num integer

  );

(科教论文网 lw.NsEac.com编辑整理)


create table site_category (

       site_id integer,

       category_id integer

       );

create table temp (

       link varchar(255),

       level integer,

       id varchar (32)

       );

  5.2选取指定的web文档

  首先需要建立类别,然后为每个类别选择具有特定性的URL,把它作为种子URL,搜索URL对应的web文档,通过它链接的第二层web文档也作为该类的相关web文档,各分类之间所指定的URL应具有明显的区别,如图5.1所示。

图5.1建立类别

function addcatform($parent) {

       global $mysql_table_prefix;

       $par2 = "";

       $par2num = "";

       if ($parent=='')

              $par='(Top level)';

……

".$mysql_table_prefix."categories WHERE Category_ID='$row[1]'";

                            $result = mysql_query($query);

                            echo mysql_error();

                            if (mysql_num_rows($result)<>'') {

                                   $row = mysql_fetch_row($result);

                                   $par2num = $row[0];

                                   $par2 = $row[1];

                            }

                            else

                                   $par2 = "Top level";

    ……

              else

                     echo mysql_error();

              print "</td></tr></table>";

 ……

<br><center><table><tr><td valign=top align=center colspan=2><b>上一级: <?print "<a href=admin.php?f=6&parent=$par2num>$par2</a> > $par"?></b></td></tr>

<form action=admin.php method=post>

<input type=hidden name=f value=7>

<input type=hidden name=parent value=<?print $parent?>

<tr><td><b>类别:</b></td><td> <input type=text name=category size=40></td></tr>

<tr><td></td><td><input type=submit value=Add></td></tr></form>

5.3 为类别添加URL

这些URL对应的web文档信息将会被放在它所属的那个分类里,如图5.2所示;本课题中采用人工分类,所以对种子URL的选取和添加都是通过人工来完成;对URL选取要有强烈的针对性,以凸显各分类的特性,才能

上一篇:公交查询系统网络毕业论文网 下一篇:没有了