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多条,所以我们要搜索时尽可能多加要害字,将结果范围缩小。
织梦好,好织梦
上一篇:限制文本字节数js代码 下一篇:javascript弹出窗口问题总结
文章评论
共有位Admini5网友发表了评论 查看完整内容