⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 link.java

📁 java写的搜索引擎网络爬虫 java写的搜索引擎网络爬虫 java写的搜索引擎网络爬虫
💻 JAVA
字号:
/* 
 * FileName LinkImpl.java
 * Create Time 2005-8-2 10:11:18
 * Author shiwei
 * Descript 链接管理
 * Version 
 */
package com.snoics.reptile.link;

import java.util.ArrayList;
import java.util.HashMap;

import com.snoics.base.util.StringClass;
import com.snoics.base.net.*;
import com.snoics.reptile.cache.Cache;
import com.snoics.reptile.system.common.Common;
import com.snoics.reptile.system.common.CommonObject;
public class Link implements ILink{
	
	private CommonObject commonObject=new CommonObject();
	private ArrayList reptilecache=commonObject.getReptileCache();
	private Cache cache=new Cache();
	private SnoicsUrl snoicsurl=new SnoicsUrl();
	
	/**
	 * 将新的链接加入到缓存中
	 * @param url
	 * @param link
	 */
	public void addLink(String url,String link){
		HashMap cacheunit=cache.getCacheUnit(reptilecache);
		cacheunit.put(url,link);
	}
	
	/**
	 * 根据分析取得的URL获取缓存中的相应的链接,如果缓存中不存在这个链接则返回null
	 * @param url
	 * @return String
	 */
	public String getLink(String url){
		String link=null;
		reptilecache=commonObject.getReptileCache();
		int length=reptilecache.size();
		for(int i=0;i<length;i++){
			HashMap cacheunit=(HashMap)reptilecache.get(i);
			link=(String)cacheunit.get(url);
			if(link!=null){
				break;
			}
		}
		return link;
	}
	
	/**
	 * 根据分析取得的URL更改缓存中相应的链接,如果缓存中不存在,则加入新的链接
	 * @param url
	 * @param link
	 */
	public void setLink(String url,String link){
		String templink=null;
		reptilecache=commonObject.getReptileCache();
		int length=reptilecache.size();
		for(int i=0;i<length;i++){
			HashMap cacheunit=(HashMap)reptilecache.get(i);
			templink=(String)cacheunit.get(url);
			if(templink!=null){
				cacheunit.put(url,link);
				return;
			}
		}
		addLink(url,link);
	}
	
	/**
	 * 根据分析取得的URL,按照相应的规则生成新的链接
	 * @param url
	 * @param parentpageurl
	 * @return String
	 */
	public String createFullLink(String url,String parentpageurl){
		
		String link="";

		try{
			link=snoicsurl.getResolved(parentpageurl,url).toString();
		}catch(Exception e){
			link=null;
		}
		return link;
	}

	/**
	 * 根据分析取得的URL,按照相应的规则生成新的链接
	 * @param url
	 * @param parentpageurl
	 */
	public String createRelativizeWithWebsiteLink(String url,String parentpageurl){
		String link="";
		String website=commonObject.getConfigInfo(Common.CONFIGFILE_NODE_WEBSITE);
		
		try{
			link=snoicsurl.getResolved(parentpageurl,url).toString();
			link=snoicsurl.getRelativize(website,link).toString();
			link="/"+link;
			link=StringClass.getFormatPath(link);
		}catch(Exception e){
			link=null;
		}
		return link;
	}
	
	/**
	 * 根据分析取得的URL,将相应的连接从缓存中移除
	 * @param url
	 */
	public void removeLink(String url){
		String templink=null;
		reptilecache=commonObject.getReptileCache();
		int length=reptilecache.size();
		for(int i=0;i<length;i++){
			HashMap cacheunit=(HashMap)reptilecache.get(i);
			templink=(String)cacheunit.get(url);
			if(templink!=null){
				cacheunit.remove(url);
				return;
			}
		}
	}
	
	public static void main(String[] args){
		Link link=new Link();
		String url="../../image/a.gif";
		String nowpageurl="http://192.168.0.1/re/abc/feji/sdfew/fdsjf/aaa.jsp";
		String newurl=link.createFullLink(url,nowpageurl);
		System.out.println("newurl="+newurl);
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -