资源简介
用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开发的电影院管理系统
- Java 停车场管理系统_JAVA___Sevrlet停车管
- Java开发的实验教学资源管理系统
- 一个用Myeclipse做的java的博客管理系统
- Java 3D 开发包
- 物业管理系统完整版带数据库文件
- 基于jsp房屋租售管理系统
- Java语言程序设计课件第四章 数组、字
- 精通java并发编程 第2版本 (真pdf)
- IK Analyzer支持Lucene6.0以上版本
- java进程调度算法,图形界面看评论酌
- 仓库管理系统JAVA源代码
- java实训项目含源码和文档
- 北大青鸟java全套课程
- java并发编程实战pdf及源码.rar清晰
- java+mysql 小型超市管理系统
- mastering-spring-cloud2018
- tomcat6-X64位
- 网上购物系统jsp+mysql+tomcat
- 基于SSH校园信息交流平台
- Android中Sqlite数据库跟Listview对数据进
- java工程师简历模版多套合集包含具体
- Javaweb课设||毕业设计点餐系统前后端
- [中文]Java并发编程的艺术pdf
- 基于Android的个人理财系统
- 1z0-809 128q.pdf(ocp jdk8)-CSDN
- vsm向量空间模型java实现源码
- 基于JSP的网上求职系统
- 深入嵌入式Java虚拟机
- Java 并发编程实战pdf + 随书源码 书高
评论
共有 条评论