快速业务通道

用Java+MySQL+PHP轻松构建跨平台的搜索引擎 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-23
/"); if(v!=-1) UrlPath = UrlFile.substring(0,v); System.out.println("分析文件:"+myurl); int uclength=200000; int ucError=0; try{ uc = url.openConnection(); uc.setUseCaches(false); uc.connect(); } catch(IOException io) { ucError=1; System.out.println("打不开待分析网页:"+myu rl); } if(ucError!=1){ uclength = uc.getContentLength(); if (uclength<200000) { try{ read = new InputStreamReader(url.openStream()); } catch(IOException io) {System.out.println("流打开错误:"+myurl);} } else System.out.println("文件太大,不分析"); } if(read!=null){ reader=new BufferedReader(read); if(reader!=null){ st = new StreamTokenizer(reader); st.resetSyntax(); // 重置语法表 st.WordChars(0,255); // 令牌范围为全部字符 st.ordinaryChar(''<''); // HTML标记两边的分割符 st.ordinaryChar(''>''); } } } catch(MalformedURLException e){ System.out.println("Malformed URL String!");} } void cleanup() { try { read.close(); } catch(IOException e) { System.out.println("流关闭错误"); } } void countWords() { try { while(st.nextToken()!=StreamTokenizer.TT_EOF) { String s0=""; String s_NoCase=""; switch(st.ttype) { case ''<'': //入标记字段 outsideTag=false; continue; //countWords(); case ''>'': //出标记字段 outsideTag=true; continue; //countWords(); case StreamTokenizer.TT_EOL: s0 = new String("EOL"); break; case StreamTokenizer.TT_WORD: if(!outsideTag) s0 = st.sval; /*已经是字符 串*/ break; default: s0 = "";// s0 = String.valueOf((char)st.ttype);/*单一字符*/ } if(outsideTag) continue;//出了标记区域(<a >) String s = ""; s_NoCase = s0.trim(); s0=s_NoCase.toUpperCase(); if(s0.startsWith("A ")s0.startsWith("AREA ")s0.startsWith("FRAME ")s0.s tartsWith("IFRAME ")){ //以这些开始的都是超级链接 int HREF_POS = -1; if(s0.startsWith("FRAME ")s0.startsWith("IFRAME ")) { HREF_POS = s0.indexOf("SRC="); s0 = s0.substring(HREF_POS+4).trim(); s_NoCase=s_NoCase.substring(HREF_POS+4).trim(); } else { HREF_POS=s0.indexOf("HREF="); s0=s0.substring(HREF_POS+5).trim(); s_NoCase=s_NoCase.substring(HREF_POS+5).trim(); } if(HREF_POS!=-1) { if(s0.startsWith("\"")) {s0=s0.substring(1);s_NoCase=s_NoCase.substring(1);} int QUOTE=s0.indexOf("\""); if(QUOTE!=-1) {s0=s0.substring(0,QUOTE).trim();s_NoCase=s_NoCase.substring(0,QUOTE).trim ();} int SPACE=s0.indexOf(" "); if(SPACE!=-1) {s0=s0.substring(0,SPACE).trim();s_NoCase=s_NoCase.substring(0,SPACE).trim ();} if(s0.endsWith("\"")) {s0=s0.substring(0,s0.length()-1);s_NoCase=s_NoCase.substring(0,s_NoCase.l ength()-1);} if(s0.indexOf("''")!=-1s0.indexOf("javascript:")!=-1s0.indexOf("..")!=-1 ) {s0="";s_NoCase="";} //有这些符号,认为非合法链接;两点表示上一目录,而我 只想向下级查找 if ( !s0.startsWith("FTP://") &&//以下后缀或前缀通常非网页格式 !s0.startsWith(

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站: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号