用Java+MySQL+PHP轻松构建跨平台的搜索引擎 - 编程入门网
作者 佚名技术
来源 NET编程
浏览
发布时间 2012-06-23
ll&&key.startsWith(StartWith))){
try{//-------------------------- 找到的链接插入数据库link -----------------
--
stmt.executeUpdate("INSERT INTO Link(Id,Url,Class) VALUES(0,''"+key+"'',"+
i+")");
}
catch(SQLException ex){
ErrorDB=1;
System.out.println("插入数据错 SQLException: " + ex.getMessage())
;
}
if(ErrorDB!=1){ //链接不重复就下载网页到WebPageLocal
System.out.println("下载网页:"+key);
int length; // 读的字符数
int filelength=200000;
InputStreamReader read=null;
URL rurl=null;
URLConnection urlc=null;
String Content="";
try{ rurl = new URL(key); }
catch(MalformedURLException mu) {
System.out.println("打开下载网页出错:"+mu.getMessage());
}
if(rurl!=null){
int ucError=0;
try{ urlc = rurl.openConnection(); urlc.connect();}
catch(IOException io) { ucError=1; System.out.println("下载网页打不开:"+ke
y); }
if(ucError==0){
try{
filelength=urlc.getContentLength();
if (filelength>=200000) System.out.println("网页太大,我不下载了。"+key);
else read = new InputStreamReader(rurl.openStream());
}
catch(IOException io) {System.out.println("下载网页打不开:"+key);}
}
// 读入 URL 并写入数据库
if(read!=null&&filelength<200000){
try{
while((length = read.read(buffer)) != -1) {
String s = new String(buffer, 0, length);
Content=Content+s;
}
}
catch(IOException io) {
Content="";
System.out.println("不能读入URL文件");
}
try{
Statement stmt2 = conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, Res
ultSet.CONCUR_UPDATABLE);
ResultSet uprs = stmt2.executeQuery("SELECT Id,Url,Content FROM WebPageLoca
l WHERE 0");//WHERE 0很重要,否则会耗尽内存
uprs.moveToInsertRow();
uprs.updateInt("Id",0);
uprs.updateString("Url",key);
uprs.updateString("Content",Content);
uprs.insertRow();
uprs.beforeFirst();
uprs.close();
stmt2.close();
}
catch(SQLException ex){
System.out.println("插入数据错:" + ex.getMessage());
}
}//if(read!=null&&filelength<200000)
}//
}
}
//------------------------------- 下载网页 ----------------------------------
}//while(keys.hasNext())
wc.cleanup();
}//if(wc.reader!=null)
}//while rs.next
rs.close(); //关闭记录结果
}//end for
stmt.close(); //关闭语句
conn.close(); //关闭连接
}//try
catch(SQLException ex){ System.out.println("SQL异常:" + ex.getMessage()); }
}//main()函数结束
}//类 LinkToDB 结束
用Java+MySQL+PHP轻松构建跨平台的搜索引擎(4)时间:2010-07-19三、编译和运行此Java程序 d:\Spider\> set CLASSPATH=d:\j\mm.mysql.jdbc2; d:\Spider\> d:\j\bin\javac LinkToDB.java d:\Spider\> d:\j\bin\java LinkToDB 其中第一行命令是设置MySQL的JDBC驱动程序路径。 四、由于网页中含有大量的无用的格式信息,直接用它来搜索要浪费大量的时间,所以需要掉其中的HTML格式控制信息,并将太长的网页截短,然后将整理后的用于搜索的信息存到另一个数据表中。由于PHP4中有一个很方便的函数strip_tags可以去掉其中的HTML格式标记,所以我们用PHP来整理。 MakeFast.php的内容如下: <?php m |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |
你可能对下面的文章感兴趣
上一篇: 品味Java子类型多态的魅力 - 编程入门网下一篇: Java中的模式 - 编程入门网
关于用Java+MySQL+PHP轻松构建跨平台的搜索引擎 - 编程入门网的所有评论