快速业务通道

用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 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号