This Domain(Admin5.com) is for Sale:

Java实现利用搜索引擎收集网址的程序

时间:2007-12-27  来源:不详  作者:林子


以下是引用片段:
  try{
  http=(HttpURLConnection)url.openConnection();
  http.setRequestProperty("User-Agent","Mozilla/4.0");
  http.connect();
  urlstream=http.getInputStream();
  }catch(Exceptionef){};

  第二步,对取回的HTML编码进行分析,取出其中的有用网址信息,并写入文件或者数据库,由于这些搜索引擎都有网页快照和相似网页等网址信息混杂在HTML中,我们要将这些网址信息剔除掉,剔除的要害就是找出其中的规律,百度搜索引擎中的网页快照和其它没有用的的地址都含有baidu这个要害字,而google中含有的无用网址信息含有要害字 google和cache,我们就根据这些要害字剔除无用网址信息。在Java中要对字符串进行分析必然要用到 java.util.StringTokenize这个类,用来将字符串以特定的分隔符分开,java.util.regex.Pattern和 java.util.regex.Matcher用来匹配字符串,要害代码如下:

以下是引用片段:
  classCompareStr
  {
  publicbooleancomparestring(Stringoristring,Stringtostring)
copyright dedecms

  {
  Patternp=null;//正则表达式
  Matcherm=null;//操作的字符串
  booleanb;
  p=Pattern.compile(oristring,Pattern.CASE_INSENSITIVE);
  m=p.matcher(tostring);
  b=m.find();
  returnb;
  }
  }

  classAnalyUrl
  {
  ......
  StringTokenizertoken=newStringTokenizer(totalstring,"<>\"");
  Stringfirstword;
  CompareStrcompstr=newCompareStr();
  Stringdsturl=null;
  while(token.hasMoreTokens())
  {
  firstword=token.nextToken();
  if(!compstr.comparestring("google.com",firstword)&&!compstr.comparestring("cache",firstword))
  {
   if(firstword.length()>7)
   {
    dsturl=firstword.substring(6,firstword.length()-1);
    WriteUrl(dsturl);//成功取到URL,记录到文件中
   }
  }
  }
  }
  通过以上程序,我们就可以收集到自己要的网址信息了,还可以再写另外一个应用程序,对收集到的网址信息进一步分析,取出自己需要的信息,这里就不再累赘,道理都是一样的。最后需说明一点,google搜索引擎搜索所能返回的结果不能超过1000条,过了1000条,就直接提示“对不起, Google 为所有查询的结果数都不会超过 1000 个。”,百度搜索引擎返回的结果不能超过700多条,所以我们要搜索时尽可能多加要害字,将结果范围缩小。
织梦好,好织梦

看完这篇,您有何感觉呢?

文章评论

共有位Admini5网友发表了评论 查看完整内容

24小时热门信息