利用JAVA编写的Web搜索程序
百度广告
这是一个web搜索的基本程序,从命令行输入搜索条件(起始的URL、处理url的最大数、要搜索的字符串),它就会逐个对Internet上的URL进行实时搜索,查找并输出匹配搜索条件的页面。
D:"java>javac SearchCrawler.java(编译)
D:"java>java SearchCrawler http://127.0.0.1:8080/zz3zcwbwebhome/index.jsp 20 java 又如:
|
下面是这个程序的源码
import java.util.*; import java.io.*; // 搜索Web爬行者 /* 缓存robot不允许搜索的URL。 Robot协议在Web站点的根目录下设置一个robots.txt文件,规定站点上的哪些页面是限制搜索的。*/ private HashMap disallowListCache = new HashMap(); public SearchCrawler(String startUrl,int maxUrl,String searchString){ public ArrayList getResult(){ public void run(){//启动搜索线程 crawl(startUrl,maxUrl, searchString,limitHost,caseSensitive);
URL verifiedUrl = null; return verifiedUrl; // 检测robot是否允许访问给出的URL. // 获取主机不允许搜索的URL缓存 // 如果还没有缓存,下载并缓存。 // 读robot文件,创建不允许访问的路径列表。 // 检查是否有注释。 disallowPath = disallowPath.trim(); // 缓存此主机不允许访问的路径。
return true;
// Read page into buffer. return pageBuffer.toString(); return null; // 从URL中去掉"www" return (url); // 解析页面并找出链接
if (link.length() < 1) { // 跳过链到本页面内链接。
if (link.toLowerCase().indexOf("javascript") != -1) { if (link.indexOf("://") == -1){ int index = link.indexOf('#'); link = removeWwwFromUrl(link); URL verifiedLink = verifyUrl(link); /* 如果限定主机,排除那些不合条件的URL*/ // 跳过那些已经处理的链接. linkList.add(link); return (linkList); // 搜索下载Web页面的内容,判断在该页面内有没有指定的搜索字符串 private boolean searchStringMatches(String pageContents, String searchString, boolean caseSensitive){
} return true; |
编辑推荐:
温馨提示:因考试政策、内容不断变化与调整,长理培训网站提供的以上信息仅供参考,如有异议,请考生以权威部门公布的内容为准! (责任编辑:长理培训)
点击加载更多评论>>