用Java+MySQL+PHP轻松构建跨平台的搜索引擎 - 编程入门网
"FTP://") &&
!s0.startsWith("MAILTO:") &&
!s0.endsWith(".SWF") &&
!s0.startsWith("../")) //因../表示上一目录,通常只需考虑本级和下N级目录
s=s0;
if (!s.startsWith("HTTP://")&&!s.equals("")) {s=UrlHost+UrlPath+"/"+s;s_No
Case=UrlHost+UrlPath+"/"+s_NoCase;}
else if(s.startsWith("/")) {s=UrlHost+s;s_NoCase=UrlHost+s_NoCase;}
if(s.startsWith("HTTP://")) {s=s.substring(7);s_NoCase=s_NoCase.substring(
7);}
int JinHao=s.indexOf("#"); //假如含有"#"号,表示有效的链接是此前的部分
if(JinHao!=-1) {s=s.substring(0,JinHao).trim();s_NoCase=s_NoCase.substring(
0,JinHao).trim();}
int H=-1; //以下将/./转换为/
for(int m=0;m<4;m++){
H=s.indexOf("/./");
if(H!=-1) {s=s.substring(0,H)+s.substring(H+2);s_NoCase=s_NoCase.substring
(0,H)+s_NoCase.substring(H+2);}
}
int TwoXG=-1; //以下将//转换为/
for(int m=0;m<5;m++){
TwoXG=s.indexOf("//");
if(TwoXG!=-1) {s=s.substring(0,TwoXG)+s.substring(TwoXG+1);s_NoCase=s_NoCa
se.substring(0,TwoXG)+s_NoCase.substring(TwoXG+1);}
}
int OneXG=s.indexOf("/");
if(OneXG==-1) {s=s+"/";s_NoCase+="/";} //将xx.xx.xx.xxx转换为xx.xx.xx.xxx/的
标准形式
if (!s.startsWith("HTTP://")) {s="HTTP://"+s;s_NoCase="HTTP://"+s_NoCase;}
}
}
if(counts.containsKey(s_NoCase)) ((Counter)counts.get(s_NoCase)).increment();
else counts.put(s_NoCase,new Counter());
}
} catch(IOException e) {
System.out.println("st.nextToken() unsuccessful");
}
}
用Java+MySQL+PHP轻松构建跨平台的搜索引擎(3)时间:2010-07-19Collection values() { return counts.values(); } Set keySet() { return counts.keySet(); } Counter getCounter(String s) { return (Counter)counts.get(s); } public static void main(String[] argv) throws FileNotFoundException { try{ Class.forName("org.gjt.mm.mysql.Driver").newInstance(); } catch (Exception E) { System.out.println("加载Jdbc驱动程序失败"); E.printStackTrace(); } try{ Connection conn = DriverManager.getConnection( "jdbc:mysql://localhost/Spider?user=root&password=mypassword"); Statement stmt = conn.createStatement(); String myurl; for(int i=1;i<=6;i++){ String query = "SELECT Url FROM link WHERE IsSearchLink=0 and Class="+(i-1)+" ORDER BY Url"; ResultSet rs = stmt.executeQuery(query); while (rs.next()) { myurl = rs.getString("Url"); String StartOnly = null; if(argv.length>0) StartOnly=argv[0]; LinkToDB wc = new LinkToDB(myurl,StartOnly); if(wc.reader!=null){ stmt.executeUpdate("UPDATE Link SET IsSearchLink=1 WHERE Class="+(i-1)+" a nd Url=''"+myurl+"''"); wc.countWords(); Iterator keys = wc.keySet().iterator(); while(keys.hasNext()) { String key = (String)keys.next(); System.out.println("分析找到链接:"+key + ": "+ wc.getCounter(key).read()); int ErrorDB=0; if(StartWith==null(StartWith!=nu |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |