资源简介
用Lucene框架实现的搜索引擎,供大家参考。

代码片段和文件信息
/**
* @(#)Crawler.java
* @author
* @version 1.00 2007/11/21
*/
import java.net.URL;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import java.io.*;
import java.util.Vector;
public class Crawler {
private String strUrl = null;//网页的URL字符串
private URL url = null;//URL对象
private static int count;//网页计数器
private Vector v = null;//存储URL地址
/*
*读取给定URL的HTML文档
**/
private String getHtmlDoc(String strUrl)
{
try
{
url = new URL(strUrl);
StringBuffer strBuf = new StringBuffer();
InputStream inputStream = url.openStream();
BufferedReader bufferedReader = new BufferedReader(
new InputStreamReader(inputStream));
String s = ““;
while ((s = bufferedReader.readLine()) != null) {
strBuf.append(s + “\n“);
}
inputStream.close();
return strBuf.toString();
}
catch(Exception e)
{
e.printStackTrace();
return null;
}
}
/**
*从HTML文档中抽取出URL并存入向量中
*/
private void extractURL()
{
String strHttp = this.getHtmlDoc(strUrl);
Pattern p = Pattern.compile(“(]*>)“);//正则表达式
StringBuffer buf = new StringBuffer();
Matcher m = p.matcher(strHttp);
boolean result = m.find();
while(result){
for(int i=1;i<=m.groupCount();i++){
String str = m.group(i);
if(str.indexOf(“http“) != -1)//是标准的URL地址
{
String temp = str.substring(str.indexOf(“http“) str.indexOf(“>“) - 2);
v.add(temp);
}
}
result=m.find();
}
}
/*
*从向量中抽取出URL地址,并将这些地址对应的HTML文档保存到本地
**/
public void saveDocument()
{
int i = 0;
BufferedWriter bw = null;
String strURL = null;
URL url = null;
try
{
this.extractURL();
while(i < v.size())
{
strURL = v.get(i).toString();
bw = new BufferedWriter(new FileWriter(“doct\\“ + String.valueOf(count) + “.txt“));
bw.write(strURL + “\n“ + this.getHtmlDoc(strURL));
System.out.println(“SAVE:“ + strURL);
bw.flush();
bw.close();
i++;
count++;
}
}
catch(Exception e)
{
e.printStackTrace();
}
finally
{
try{
bw = new BufferedWriter(new FileWriter(“count.txt“));
bw.write(String.valueOf(count));
bw.flush();
bw.close();
}
catch(Exception e)
{
e.printStackTrace();
}
}
}
/*
*构造函数,用于变量初始化
*/
public Crawler()
{
try
{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
System.out.println(“Enter your url string:“);
strUrl = br.readLine();
BufferedReader br_count = new BufferedReader(new FileReader(“count.txt“));
count = Integer.valueOf(br_count.readLine());
v = new Vector();
}
catch(Exception e)
{
e.printStackTrace();
}
}
public static void main(String args[])
{
Crawler c = new Crawler();
c.saveDocument();
}
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 3379 2007-12-25 21:27 MyLucene\Crawler.class
文件 2994 2007-12-01 21:12 MyLucene\Crawler.java.bak
文件 1871202 2008-03-12 08:55 MyLucene\Lucene 2.1.0 jar.rar
文件 112640 2008-03-12 22:38 MyLucene\Lucene写搜引擎.ppt
文件 1572 2007-11-23 20:58 MyLucene\MyLucene.jcp
文件 860 2007-11-23 20:58 MyLucene\MyLucene.jcu
文件 293 2007-11-23 20:58 MyLucene\MyLucene.jcw
文件 994 2007-11-22 11:56 MyLucene\readme.txt
....SH. 5120 2008-01-21 12:51 MyLucene\Thumbs.db
文件 3676 2007-02-14 11:46 MyLucene\Lucene 2.1.0 jar\BUILD.txt
文件 18757 2007-02-14 11:46 MyLucene\Lucene 2.1.0 jar\build.xm
文件 69593 2007-02-14 11:46 MyLucene\Lucene 2.1.0 jar\CHANGES.txt
文件 898886 2007-07-09 13:30 MyLucene\Lucene 2.1.0 jar\je-analysis-1[1].4.0-5251(1).jar
文件 11358 2007-02-14 11:46 MyLucene\Lucene 2.1.0 jar\LICENSE.txt
文件 463578 2007-02-14 11:49 MyLucene\Lucene 2.1.0 jar\lucene-core-2.1.0.jar
文件 48244 2007-02-14 11:49 MyLucene\Lucene 2.1.0 jar\lucene-demos-2.1.0.jar
文件 473676 2007-02-14 11:49 MyLucene\Lucene 2.1.0 jar\luceneweb.war
文件 163 2007-02-14 11:46 MyLucene\Lucene 2.1.0 jar\NOTICE.txt
文件 1157 2007-02-14 11:46 MyLucene\Lucene 2.1.0 jar\README.txt
文件 1 2007-12-25 21:27 MyLucene\JSP\count.txt
文件 3379 2007-12-25 21:26 MyLucene\JSP\Crawler.classd
文件 2995 2007-12-25 21:25 MyLucene\JSP\Crawler.java
文件 198 2007-11-21 23:29 MyLucene\JSP\DocIndexer.class
文件 1963 2007-11-22 11:21 MyLucene\JSP\DoQuery.class
文件 1868 2007-11-22 11:56 MyLucene\JSP\DoQuery.java
文件 58723 2007-12-25 20:14 MyLucene\JSP\jinrong.jpg
文件 3186 1999-04-20 12:02 MyLucene\JSP\query.html
文件 2542 2007-12-25 20:52 MyLucene\JSP\query.html.bak
文件 4003 1999-04-20 12:02 MyLucene\JSP\query.jsp
文件 150 2007-11-23 15:53 MyLucene\JSP\src_mylucene.txt
............此处省略169个文件信息
相关资源
- 微博系统(Java源码,servlet+jsp),适
- java串口通信全套完整代码-导入eclip
- jsonarray所必需的6个jar包.rar
- JSP企业人事管理系统设计(源代码+论
- 三角网构TIN生成算法,Java语言实现
- java代码编写将excel数据导入到mysql数据
- 实现一个图书管理系统
- Java写的cmm词法分析器源代码及javacc学
- JAVA JSP公司财务管理系统 源代码 论文
- JSP+MYSQL旅行社管理信息系统
- 推荐算法的JAVA实现
- 基于Java的酒店管理系统源码(毕业设
- java-图片识别 图片比较
- android毕业设计
- java23种设计模式+23个实例demo
- java Socket发送/接受报文
- JAVA828436
- java界面美化 提供多套皮肤直接使用
- 在线聊天系统(java代码)
- 基于Java的图书管理系统807185
- java中实现将页面数据导入Excel中
- java 企业销售管理系统
- java做的聊天系统(包括正规课程设计
- JSP,SQL,MVC的选课系统
- Java编写的qq聊天室
- 基于JSP的学生宿舍管理系统(源码 数
- JSP选课管理系统
- mysql jsp网站源码下载
- JSP做的化妆品商城
- Jsp购物车实例
评论
共有 条评论