亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? spider.java

?? lucene 是java 的版的搜索引擎公共模塊
?? JAVA
?? 第 1 頁 / 共 2 頁
字號:
					}
				}

				if (url != null && isloopget)
				{
					if (url.startsWith("http://")
							|| (url.startsWith("https://") && groksHTTPS)) {

						// verify we're on the same host and port
						URL u = new URL(url);
						if (u.getHost().equals(summary.url.getHost())
								&& u.getPort() == summary.url.getPort()) {

							url = chopOffNamedAnchor(url);
							if (indexedURLs.get(url) == null)
								urls.add(url);
						}
					} else if (url.indexOf("://") == -1
							&& !url.startsWith("mailto:")
							&& !url.startsWith("#")
							&& !url.startsWith("javascript:")) {
						// parse relative url
						url = formURL(summary.url, url);
						url = chopOffNamedAnchor(url);
						if (indexedURLs.get(url) == null)
							urls.add(url);
					}
				}
				
				
			} else if (obj instanceof TextToken) {
				if(isIgnoreText) continue;
				TextToken t = (TextToken) obj;
				String text = t.getText();
				if (text != null && text.trim().length() > 0)
					desc.append(text.trim()).append(" ");
			}
		}

		if (desc.length() > descSize)
			desc.setLength(descSize);
		summary.desc = desc.toString();

		String list[] = new String[urls.size()];
		urls.toArray(list);
		return list;
	}

	private String chopOffNamedAnchor(String url) {
		int pos = url.indexOf("#");
		if (pos == -1)
			return url;
		else
			return url.substring(0, pos);
	}

	// converts relative URL to absolute URL
	private String formURL(URL origURL, String newURL) {
		StringBuffer base = new StringBuffer(origURL.getProtocol());
		base.append("://").append(origURL.getHost());
		if (origURL.getPort() != -1) {
			base.append(":").append(origURL.getPort());
		}

		if (newURL.startsWith("/")) {
			base.append(newURL);
		} else if (newURL.startsWith("..")) {
			String file = origURL.getFile();
		} else {
			String file = origURL.getFile();
			int pos = file.lastIndexOf("/");
			if (pos != -1)
				file = file.substring(0, pos);

			while (newURL.startsWith("../")) {
				pos = file.lastIndexOf("/");
				file = file.substring(0, pos);
				newURL = newURL.substring(3);
			}

			base.append(file).append("/").append(newURL);
		}

		return base.toString();
	}
	
	/**
	 *  解析content type , text/html;charset=utf-8
	 *  
	 * @param strcontenttype :: text/html;charset=utf-8
	 * @return  ret[0]= text/html ret[1]= utf-8
	 */
	private String [] parseContentType(String strcontenttype)
	{
		String straret [] = new String[2];
		// 默認數(shù)值。 
		straret[0] ="text/html";
		straret[1] ="gb2312";
		try
		{
			if(strcontenttype !=null)
			{
				int npos = strcontenttype.indexOf(";");
				if(npos ==-1) 
					straret[0] =strcontenttype;
				else
				{
					straret[0] =strcontenttype.substring(0,npos);
					npos = strcontenttype.indexOf("=");
					if(npos !=-1)
					{
						straret[1] =strcontenttype.substring(npos+1);
					}
					
				}
				
			}
		
		}catch(Exception se)
		{
			
		}
		return straret;
	}

	private URLSummary loadURL(String url)  {
		HttpURLConnection uc;
		String ct = "";
		URLSummary summary = null;
		 GetMethod get =null;
        
		try {
			 get = new GetMethod(url);
	         get.setFollowRedirects(true);
             int iGetResultCode = httpclient.executeMethod(get);
             if(iGetResultCode ==200)
             {
            	  ct = get.getResponseCharSet();
            	  String strGetResponseBody = get.getResponseBodyAsString();
            	 // System.out.println("ddddddddddddddddddddd");
            	 if("ISO-8859-1".equals(ct))
            	 {
            		 //不確定的編碼. 
            		 byte [] atemp = strGetResponseBody.getBytes("ISO-8859-1");     	            
            		 String strcharset = getFileEncoding(new ByteArrayInputStream(atemp));
            		  System.out.println("charset=="+ct+"strcharset="+strcharset);
      	            
       	             if("big5".equalsIgnoreCase(strcharset) || "gb2312".equalsIgnoreCase(strcharset))
       	             {
       	            	strGetResponseBody = new String(atemp, "GBK");
       	            //	System.out.println(strGetResponseBody);
       	             }
            		 
       	         		 
            		 
            	 }
	             //java.io.ByteArrayInputStream binput = 
	            
	            
	            // System.out.println(strGetResponseBody);
				 summary = new URLSummary();
				 summary.url = new URL(url);
				 summary.body =strGetResponseBody;
             }
			//ct = uc.getContentType();
		} catch (Exception e) {
			// 404
			summary=null;
		}
		finally
		{
			if(get!=null) get.releaseConnection();
			
		}

	//	String contdata[] = parseContentType(ct);
		return summary;
		
	}
	
	
	public static String  getFileEncoding(InputStream imp) throws Exception 
	{
		String rv = "ASCII";		
		boolean found = false ;
		//System.out.println("befoer getFileEncoding");
		
		nsDetector det = new nsDetector(2) ;

		// Set an observer...
		// The Notify() will be called when a matching charset is found.

		det.Init(new nsICharsetDetectionObserver() {
			public void Notify(String charset) {
			    HtmlCharsetDetector.found = true ;
			   
			}
	    	});

		//URL url = new URL(argv[0]);
		//BufferedInputStream imp = new BufferedInputStream(fin);
		
		byte[] buf = new byte[1024] ;
		int len;
		boolean done = false ;
		boolean isAscii = true ;
		   
		while( (len=imp.read(buf,0,buf.length)) != -1) {

			// Check if the stream is only ascii.
			if (isAscii)
			    isAscii = det.isAscii(buf,len);

			// DoIt if non-ascii and not done yet.
			if (!isAscii && !done)
	 		    done = det.DoIt(buf,len, false);
		}
		det.DataEnd();

		if (isAscii) 
		{
			rv = "ASCII";
		 
		   found = true ;
		}

		if (!found) 
		{
		   String prob[] = det.getProbableCharsets() ;
		   if(prob.length > 0 )
			   rv = prob[0];
		}
		imp.close();
		//System.out.println("after getFileEncoding");
		return rv;
	}
	
	

	private void parseArgs(String argv[]) {
		for (int i = 0; i < argv.length; i++) {
			if (argv[i].equals("-u"))
				urls.add(argv[++i]);
			else if (argv[i].equals("-d"))
				indexDir = argv[++i];
			else if (argv[i].equals("-i"))
				include.add(argv[++i]);
			else if (argv[i].equals("-e"))
				exclude.add(argv[++i]);
			else if (argv[i].equals("-v"))
				verbose = true;
			else if (argv[i].equals("-a"))
				incremental = true;
			else if (argv[i].equals("-m"))
				mimeTypes.put(argv[++i], Boolean.TRUE);
			else if (argv[i].equals("-t"))
				threads = Integer.parseInt(argv[++i]);
			else if (argv[i].equals("-s"))
				descSize = Integer.parseInt(argv[++i]);
		}

		if (urls.size() == 0)
			throw new IllegalArgumentException(
					"Missing required argument: -u [start url]");
		if (indexDir == null)
			throw new IllegalArgumentException(
					"Missing required argument: -d [index dir]");

		if (threads < 1)
			throw new IllegalArgumentException("Invalid number of threads: "
					+ threads);

		if (mimeTypes.size() == 0) {
			// add default MIME types
			mimeTypes.put("text/html", Boolean.TRUE);
			mimeTypes.put("text/plain", Boolean.TRUE);
		}
	}

	private void print(String str) {
		System.out.println(str);
	}

	
	public static void main(String argv[]) throws Exception   
	{
		Spider a = new Spider();
		a.spiderURL("http://www.sina.com.cn/");
		
	}
	
}

class URLSummary {

	URL url;

	String body;

	String desc = "";

	String title = "Untitled";

	public String toString() {
		return "URL=" + url.toString() + "\r\ndesc=" + desc + "\r\ntitle="
				+ title + "\r\n";

	}

	
	
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩一级欧美一级| 亚洲综合免费观看高清完整版在线| 欧美一级黄色大片| 国产精品国产三级国产普通话三级| 国产精品综合久久| 亚洲成在人线免费| 欧美一二三区在线观看| 韩国成人精品a∨在线观看| 国产午夜三级一区二区三| 波多野洁衣一区| 洋洋成人永久网站入口| 欧美四级电影网| 美女一区二区久久| 国产目拍亚洲精品99久久精品| 99re亚洲国产精品| 天涯成人国产亚洲精品一区av| 精品久久国产老人久久综合| 成人久久18免费网站麻豆| 一区二区三区中文字幕电影 | 亚洲一区二区在线播放相泽| 欧美一二三区精品| 国产91在线|亚洲| 亚洲第一精品在线| 久久综合999| 欧美在线观看视频在线| 极品少妇xxxx精品少妇| 亚洲欧美激情视频在线观看一区二区三区| 欧美性色黄大片| 国产麻豆精品一区二区| 亚洲国产欧美在线| 国产亚洲一本大道中文在线| 欧美天堂亚洲电影院在线播放| 免费久久精品视频| 亚洲精品综合在线| 久久久久一区二区三区四区| 在线观看亚洲成人| 国产一区二区在线视频| 亚洲高清视频在线| 国产精品国产三级国产aⅴ无密码| 欧美精品久久久久久久久老牛影院| 国产精一区二区三区| 五月激情综合婷婷| 中文字幕一区二区三区四区| xnxx国产精品| 88在线观看91蜜桃国自产| jlzzjlzz欧美大全| 国产一级精品在线| 日韩电影一二三区| 一区二区三区四区激情| 国产精品视频免费| 久久网站热最新地址| 欧美日韩在线播放三区四区| thepron国产精品| 丰满亚洲少妇av| 极品美女销魂一区二区三区免费| 亚洲成av人片| 亚洲综合丝袜美腿| √…a在线天堂一区| 国产日韩欧美精品综合| 欧美成人video| 91精品国产手机| 3d动漫精品啪啪1区2区免费| 欧美伊人久久久久久久久影院 | 在线播放91灌醉迷j高跟美女| 91无套直看片红桃| 99久久婷婷国产综合精品电影| 国产黄色91视频| 久久99精品久久久久久久久久久久| 亚洲成年人影院| 亚洲永久精品国产| 一区二区三区四区国产精品| 亚洲综合久久久久| 一级女性全黄久久生活片免费| 136国产福利精品导航| 亚洲免费伊人电影| 亚洲精品ww久久久久久p站| 亚洲人成精品久久久久久 | 欧美区一区二区三区| 在线免费观看不卡av| 在线视频一区二区三| 一本久久a久久精品亚洲| 91麻豆免费在线观看| 91视频com| 欧美午夜一区二区三区免费大片| 欧美色电影在线| 欧美一区国产二区| 欧美成人vr18sexvr| 国产欧美日韩精品一区| 国产精品女人毛片| 亚洲乱码日产精品bd| 亚洲午夜久久久久久久久电影网| 亚洲国产一二三| 蜜臀va亚洲va欧美va天堂| 久久精品国产亚洲a| 国产精品18久久久久久久久 | 亚洲综合一二区| 水蜜桃久久夜色精品一区的特点 | 欧美日韩午夜在线视频| 9191国产精品| 欧美激情一区在线观看| 专区另类欧美日韩| 五月婷婷综合在线| 精品一区二区三区在线视频| 成熟亚洲日本毛茸茸凸凹| 91黄色在线观看| 日韩三级在线免费观看| 日本一区二区久久| 亚洲风情在线资源站| 美女看a上一区| 成人美女在线视频| 在线不卡中文字幕| 中文字幕在线观看一区二区| 亚洲成人动漫一区| 国产最新精品免费| 欧美综合欧美视频| 久久你懂得1024| 亚洲电影激情视频网站| 国产真实乱偷精品视频免| 色综合久久88色综合天天6| 欧美一级精品大片| 亚洲色图欧美在线| 精品一区二区三区久久久| 99在线精品视频| 日韩精品专区在线| 亚洲激情一二三区| 国产精品77777| 欧美一区二区三区四区在线观看| 国产精品福利电影一区二区三区四区| 天使萌一区二区三区免费观看| 国产精品亚洲人在线观看| 欧美精品久久99| 亚洲欧美电影一区二区| 国产中文字幕精品| 日韩一区二区三区四区五区六区| 亚洲视频免费看| 国产精品69毛片高清亚洲| 91精品国产高清一区二区三区蜜臀| 国产精品美女久久久久久久网站| 美女视频黄免费的久久| 欧美日韩一区二区在线视频| 亚洲欧美综合色| 激情综合色综合久久| 欧美日本在线播放| 亚洲精品欧美综合四区| 成人免费电影视频| 国产视频911| 国产精品一区二区在线看| 日韩一区二区三区视频在线观看 | 美女久久久精品| 欧美日本高清视频在线观看| 亚洲免费高清视频在线| 91一区在线观看| 国产精品嫩草99a| 国产999精品久久久久久| 2014亚洲片线观看视频免费| 亚洲成人在线免费| 欧美艳星brazzers| 一区二区三区成人| 91在线看国产| 日韩理论片中文av| 99精品热视频| 亚洲桃色在线一区| 91网站最新地址| 亚洲人成网站色在线观看| 99久久伊人久久99| 亚洲欧美另类久久久精品2019| 粉嫩av亚洲一区二区图片| 国产区在线观看成人精品| 精品一区二区三区蜜桃| 久久精品视频一区二区三区| 国产高清久久久| 国产精品久久久久久久久免费桃花| 懂色av中文一区二区三区| 中文字幕av资源一区| 不卡一卡二卡三乱码免费网站| 国产精品国产成人国产三级| 色系网站成人免费| 亚洲影视在线播放| 9191成人精品久久| 激情五月婷婷综合| 日本一区二区电影| 欧美性大战久久久| 伦理电影国产精品| 久久久精品日韩欧美| 波多野结衣亚洲一区| 亚洲小少妇裸体bbw| 日韩一区和二区| 成人久久视频在线观看| 亚洲无人区一区| 精品国产91乱码一区二区三区| 国产真实精品久久二三区| 国产精品欧美经典| 欧美日韩视频第一区| 国产乱理伦片在线观看夜一区| 中文字幕日韩一区| 欧美精品三级在线观看| 国产精品1区2区| 亚洲一区二区三区四区在线| 日韩女优电影在线观看| www.99精品|