搜索引擎设计思路

   搜索指定的网页的主要处理过程如下:

  a、 首先需要取得指定网页内容, 即网页原始的HTML文本

  b、 对我那个也上的内容进行分析, 即对HTML文本进行解析, 分离出各种标记或元素。 例如标题(Title)、描述(Description)、内容(Content)、超级链接等。 把所有的超级链接放到某一数据结构里, 如Vector

  c、 根据关键字对内容进行检索。 采用某一种字符串查找算法对内容进行查找, 例如KMP算法

  d、 最后将搜索的结果显示到页面上

   这些处理过程如果用套接字进行编程, 通过编程进行HTML语法解析,功能实现将会变得十分复杂。 但是如果借助JAVA系统的类或者函数可以相对容易地完成, 因此我在此处采用该设计思路:

  A、 取得指定网页内容时,可以采用java.net.*包中的一些类和函数从而获得HTML文本流。 例如URL类, URLConnection类、HTTPURLConnection类等, 避免使用一些网络底层编程类和函数

 B、 对网页上的内容进行分析, 即对HTML文本进行解析, 可以采用javax.swing.html.HTMLEditorKit.*、 javax.swing.text.parser.*、 javax.swing.text.html.*等包中的类和函数, 比重重要的有ParseDelegator类、 ParseCallback类、HTML类、HTML.tag类、 MutableAttributeSet类。

——————————————————下面就几个主要的类和函数做一个简单的介绍——————————————

1、 URL

      URL(String protocol, String host, int port, String file)根据指定protocol、host、port号和file创建URL对象。 如果指定了未知协议则抛出异常: MalformedURLException

     URL(URL context, String spec, RLStreamHandler handler): 通过在指定的上下文中用指定的处理程序对给定的spec进行解析来创建URL。 如果处理程序为null, 则使用两参数构造函数进行解析。 (handler为URL的流处理程序)

    final InputStream openStream() 打开此URL的链接并返回一个用于从该链接读入的InputStream输入流。 该函数是openConnection().getInputStream()函数的简化形式。 返回值为从URL链接读入的输入流.

   String getPath(): 获得URL的路径部分, 返回此URL的路径部分, 如果没有路径,则返回一个空字符串

   boolean  equals(Object obj) 比较此URL是否和另一个对象相等。 如果给定的对象不是一个URL则返回false.

 

2、 URLConnection类简介

    ...  ... 

    写得太累了, 其他的还是自己参照API学习使用吧。   ^_^   ^_^  

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值