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

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

?? test.java

?? 用JAVA寫的簡單爬蟲
?? JAVA
字號:
package test;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.ConnectException;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.SocketTimeoutException;
import java.net.URL;
import java.net.UnknownHostException;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import java.util.zip.GZIPInputStream;
import java.util.zip.InflaterInputStream;

import org.htmlparser.Node;
import org.htmlparser.NodeFilter;
import org.htmlparser.Parser;
import org.htmlparser.filters.NodeClassFilter;
import org.htmlparser.filters.OrFilter;
import org.htmlparser.tags.MetaTag;
import org.htmlparser.util.NodeList;
import org.htmlparser.util.ParserException;

public class Test {
    static String regex = "charset=\\s*?\"?\'?\\s*?([a-z][_\\-0-9a-z]*)\\s*?\"?\'?";
    static Pattern patten = Pattern.compile(regex, Pattern.CASE_INSENSITIVE);
    
    public static String getEncoding(String content) {
        String encode = "";
        try {
            Parser parser = Parser.createParser(content, "ISO-8859-1");
            NodeFilter metaFilter = new NodeClassFilter(MetaTag.class);
            OrFilter lastFilter = new OrFilter();
            lastFilter.setPredicates(new NodeFilter[] { metaFilter });
            
            NodeList nodelist = parser.parse(lastFilter);
            Node[] nodes = nodelist.toNodeArray();

            for (int i = 0; i < nodes.length; i++) {
                Node node = nodes[i];
                
                if (node instanceof MetaTag) {
                    MetaTag metaTag = (MetaTag) node;
                    String line = metaTag.getText();
                    if (line.indexOf("charset") != -1) {
                        Matcher m = patten.matcher(line);
                        while (m.find()) {
                            encode = m.group(1);
                        }
                        return encode;
                    }
                }
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
        return encode;
    }
    
    public static String showUrl(String s) {
        try {
            URL url = new URL(s);
            HttpURLConnection connection = (HttpURLConnection) url.openConnection();
            // 模擬成ie
//            connection.setRequestProperty("user-agent",
//                    "mozilla/4.0 (compatible; msie 6.0; windows 2000)");
            connection.setConnectTimeout(30000);
            connection.setReadTimeout(30000);
            connection.setAllowUserInteraction(false);
            HttpURLConnection.setFollowRedirects(true);
            connection.setRequestProperty("User-Agent", "mozlla/5.0");
            connection.setRequestProperty("Accept-Encoding", "gzip, deflate");
//            connection.connect();
            int responseCode = connection.getResponseCode();
            if (responseCode == HttpURLConnection.HTTP_OK) {
                String contentEncoding = connection.getContentEncoding();
                InputStream in = null;
                if ((null != contentEncoding) && (-1 != contentEncoding.indexOf ("gzip"))) {   
                    in = new GZIPInputStream (connection.getInputStream());
                } else if ((null != contentEncoding) && (-1 != contentEncoding.indexOf ("deflate"))) {   
                    in = new InflaterInputStream (connection.getInputStream());   
                } else {   
                    in = connection.getInputStream();   
                 }   

                BufferedReader breader = new BufferedReader(new InputStreamReader(in, "iso-8859-1"));
//                BufferedWriter writer = new BufferedWriter(new FileWriter("D:/111.txt"));
                StringBuffer str = new StringBuffer("");
                String s1 = breader.readLine();
                while ( s1 != null) {
                    str.append(s1);
//                    writer.write(s1 + "\n");
//                    System.out.println(s1);
                    s1 = breader.readLine();
//                    System.out.println(s1);
                }
                in.close();
                breader.close();
                
                System.out.println(str.toString());
                System.out.println(new String(str.toString().getBytes("iso-8859-1"), "GBK"));
                
                connection.disconnect();
                
                connection.connect();
                System.out.println(connection.getURL());
                in = null;
                if ((null != contentEncoding) && (-1 != contentEncoding.indexOf ("gzip"))) {   
                    in = new GZIPInputStream (connection.getInputStream());
                } else if ((null != contentEncoding) && (-1 != contentEncoding.indexOf ("deflate"))) {   
                    in = new InflaterInputStream (connection.getInputStream());   
                } else {   
                    in = connection.getInputStream();   
                 }   
                str = new StringBuffer("");
                breader = new BufferedReader(new InputStreamReader(in, "utf-8"));
//              BufferedWriter writer = new BufferedWriter(new FileWriter("D:/111.txt"));
              s1 = breader.readLine();
              while ( s1 != null) {
                  str.append(s1);
//                  writer.write(s1 + "\n");
//                  System.out.println(s1);
                  s1 = breader.readLine();
//                  System.out.println(s1);
              }
              in.close();
              breader.close();
              System.out.println(str.toString());
//                writer.flush();
//                writer.close();
                Parser parser = null;
                
//                System.out.println(new String (str.toString().getBytes("UTF-8")));
//                System.out.println(connection.getURL());
//                System.out.println(connection.getURL().getPath());
//                System.out.println(connection.getContentEncoding());
                String contentType = connection.getContentType();
                System.out.println("contentType:" + contentType);
                String encoding = ""; 
                if (contentType.toLowerCase().indexOf("charset") != -1) {
                    String charset = contentType.substring(contentType.toLowerCase().indexOf("charset"));
                    int nn = charset.indexOf(";");
                    if (nn != -1) {
                        nn--;
                    } else {
                        nn = charset.length();
                    }
                    encoding = charset.substring(charset.indexOf("=") + 1, nn);
                }
                System.out.println("encoding:" + encoding);
//                Map<String, List<String>> map = connection.getHeaderFields();
//                Set set = map.keySet();
//                Iterator<String> iterator = set.iterator();
//                while (iterator.hasNext()) {
//                    String name = iterator.next();
//                    System.out.println(name);
//                    List<String> list = map.get(name);
//                    for (String ss : list) {
//                        System.out.println("\t" + ss);
//                    }
//                }
                return str.toString();
            } else {
                System.out.println("URL連接出錯");
            }
        } catch (MalformedURLException e) {
            System.out.println("缺少協議名");
        } catch (ClassCastException e) {
            System.out.println("協議名錯誤");
        } catch (ConnectException e) {
            System.out.println("連接錯誤");
        } catch (UnknownHostException e) {
            System.out.println("URL錯誤");
        } catch (SocketTimeoutException e) {
            System.out.println("連接超時");
        } catch (IOException e) {
            System.out.println("讀取出錯");
        } catch (Exception e) {
            e.printStackTrace();
        }
        return "";
    }
    
    public List list = new ArrayList<String>();
    synchronized public String getT(String name, int nn) {
        for (int i = 0; i < 3; i ++) {
            try {
                Thread.sleep(500);
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
            System.out.println("come1:" + name);
        }
        list.add("a");
        return name;
    }
    
    public String getT2(String name, int nn) {
        for (int i = 0; i < 3; i ++) {
            try {
                Thread.sleep(500);
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
            System.out.println("come2:" + name);
        }
        list.remove("a");
        return name;
    }
    
    class TestT implements Runnable {
        String name;
        int nn;
        public TestT(String s, int n) {
            name = s;
            nn = n;
        }
        
        public void run() {
            for (int i = 0; i < 3; i++) {
                System.out.println(getT(name, nn));
            }
        }
    }
    
    class TestT2 implements Runnable {
        String name;
        int nn;
        public TestT2(String s, int n) {
            name = s;
            nn = n;
        }
        
        public void run() {
            for (int i = 0; i < 3; i++) {
                System.out.println(getT2(name, nn));
            }
        }
    }
    
    public void go() {
        new Thread(new TestT("AA", 1000)).start();
        try {
            Thread.sleep(1000);
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
        new Thread(new TestT2("BB", 100)).start();
        
        try {
            Thread.sleep(10000);
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
        for (int i = 0; i < list.size(); i ++) {
            System.out.println(list.get(i));
        }
    }
    
    public static void main(String[] args) {
//        System.out.println("=" + getEncoding(showUrl("http://www.photos.sh")));
//        System.out.println("=" + getEncoding(showUrl("http://www.cnfstar.com/news/")));
//        System.out.println("=" + getEncoding(showUrl("http://bbs.99wed.com/")));
        showUrl("http://bbs.5iout.com");
//        new Test().go();
//    	try {
//			URL url = new URL(new URL("http://www.photos.sh/product/productList.jsp?id=11"), "http://172.20.7.181/welcome.jsp?id=1#a");
//			System.out.println("url=" + url.toString());
//			System.out.println("url.getAuthority=" + url.getAuthority());
//			System.out.println("url.getDefaultPort=" + url.getDefaultPort());
//			System.out.println("url.getFile=" + url.getFile());
//			System.out.println("url.getHost=" + url.getHost());
//			System.out.println("url.getPath=" + url.getPath());
//			System.out.println("url.getPort=" + url.getPort());
//			System.out.println("url.getProtocol=" + url.getProtocol());
//			System.out.println("url.getQuery=" + url.getQuery());
//			System.out.println("url.getRef=" + url.getRef());
//			System.out.println("url.toExternalForm=" + url.toExternalForm());
//			System.out.println("url.toURI=" + url.toURI());
//			
//			
//			System.out.println("--------------------------");
//			
//			HttpURLConnection connection = (HttpURLConnection) url.openConnection();
//			connection.connect();
//			System.out.println(connection.getResponseCode() + " " + connection.getResponseMessage());
//			System.out.println("--------------------------");
//			url = connection.getURL();
//			System.out.println("url=" + url.toString());
//			System.out.println("url.getAuthority=" + url.getAuthority());
//			System.out.println("url.getDefaultPort=" + url.getDefaultPort());
//			System.out.println("url.getFile=" + url.getFile());
//			System.out.println("url.getHost=" + url.getHost());
//			System.out.println("url.getPath=" + url.getPath());
//			System.out.println("url.getPort=" + url.getPort());
//			System.out.println("url.getProtocol=" + url.getProtocol());
//			System.out.println("url.getQuery=" + url.getQuery());
//			System.out.println("url.getRef=" + url.getRef());
//			System.out.println("url.toExternalForm=" + url.toExternalForm());
//			System.out.println("url.toURI=" + url.toURI());
//			
//			connection.disconnect();
//		} catch (Exception e) {
//			// TODO Auto-generated catch block
//			e.printStackTrace();
//		}
    	
    }
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲成av人片www| 亚洲人成网站精品片在线观看| 成人av在线影院| 国产成人日日夜夜| 国产精品一区二区三区乱码| 国产精品一二三区在线| 国产精品综合一区二区三区| 极品少妇xxxx偷拍精品少妇| 久久国产福利国产秒拍| 国产成人精品一区二区三区网站观看| 国产精品羞羞答答xxdd| 丰满岳乱妇一区二区三区| 成人a级免费电影| 色婷婷av一区二区三区大白胸| 欧美亚洲综合色| 欧美一区二区三区四区久久| 欧美精品一区二区三区很污很色的| 久久亚洲捆绑美女| 中文字幕一区二区在线观看| 一区二区三区四区在线免费观看| 亚洲福利视频一区| 九色porny丨国产精品| 国产福利一区二区三区| 99国产精品久久| 欧美日韩的一区二区| 日韩久久久久久| 亚洲图片另类小说| 午夜电影久久久| 成人精品国产福利| 欧美亚洲综合另类| 久久久久国色av免费看影院| 亚洲综合免费观看高清完整版| 免费观看日韩电影| 99精品一区二区| 欧美日韩三级视频| 国产亚洲婷婷免费| 又紧又大又爽精品一区二区| 久久99精品视频| 91精彩视频在线观看| 26uuu色噜噜精品一区二区| 亚洲欧美日韩国产综合在线| 青草国产精品久久久久久| av一区二区三区| 日韩三级视频中文字幕| 日韩美女视频19| 精品一区二区在线观看| 在线观看视频一区| 国产无遮挡一区二区三区毛片日本| 一区二区在线观看视频| 国产mv日韩mv欧美| 日韩一级大片在线| 亚洲激情成人在线| 高清国产一区二区| ww亚洲ww在线观看国产| 五月天丁香久久| 91香蕉视频mp4| 国产欧美日韩视频在线观看| 日韩不卡一二三区| 欧洲一区在线电影| 中文字幕五月欧美| gogo大胆日本视频一区| 久久先锋影音av鲁色资源网| 日本aⅴ亚洲精品中文乱码| 色婷婷激情一区二区三区| 国产精品狼人久久影院观看方式| 国产在线播放一区二区三区| 成人视屏免费看| 欧美激情在线一区二区三区| 国产一区二区三区在线看麻豆| 日韩欧美国产一区二区三区 | 国产一区亚洲一区| 日韩一区二区在线观看视频播放| 亚洲一区二区偷拍精品| 欧洲av在线精品| 亚洲午夜久久久久久久久电影网| 91精品1区2区| 天天综合色天天综合| 欧美精品在欧美一区二区少妇| 一区二区三区国产豹纹内裤在线 | 蜜桃久久av一区| 欧美一级片在线观看| 美女网站视频久久| 久久久三级国产网站| 国产成人自拍在线| 国产精品毛片无遮挡高清| av一本久道久久综合久久鬼色| 国产精品美女久久久久aⅴ| 91在线观看下载| 一区二区三区四区高清精品免费观看| 在线观看一区二区视频| 丝袜美腿亚洲色图| 日韩欧美久久久| 国产精品一二二区| 一区二区三区影院| 欧美一区二区三区四区高清| 国产激情视频一区二区在线观看| 国产精品乱码妇女bbbb| 在线观看区一区二| 免费成人在线观看| 国产精品国产三级国产a| 欧洲人成人精品| 精品一区二区三区在线播放视频| 久久久精品天堂| 一本久久a久久精品亚洲| 日韩av成人高清| 国产日产欧产精品推荐色| 99re这里只有精品视频首页| 香蕉影视欧美成人| 国产女人水真多18毛片18精品视频| www.亚洲精品| 午夜精品久久久久久久久久久| 久久免费午夜影院| 色噜噜夜夜夜综合网| 精品无码三级在线观看视频| 国产精品久久久久婷婷| 91精品国产综合久久久久久久| 国产在线不卡一区| 亚洲高清免费一级二级三级| 久久久精品免费免费| 欧美亚日韩国产aⅴ精品中极品| 国产一区二区视频在线| 天堂一区二区在线免费观看| 中文字幕高清不卡| 欧美一区二区在线观看| 91网上在线视频| 国产精品影视在线观看| 日本中文一区二区三区| 亚洲精品免费在线| 国产欧美日韩一区二区三区在线观看 | 亚洲一区在线免费观看| 国产亚洲欧美日韩俺去了| 欧美人妇做爰xxxⅹ性高电影| 福利一区二区在线| 国产露脸91国语对白| 婷婷国产v国产偷v亚洲高清| 亚洲女子a中天字幕| 亚洲国产成人午夜在线一区| 日韩一二三区不卡| 欧美丰满高潮xxxx喷水动漫| 色激情天天射综合网| 不卡视频一二三| 国产91丝袜在线观看| 狠狠色丁香婷婷综合久久片| 丝袜美腿亚洲色图| 日韩av网站在线观看| 日韩精品欧美精品| 午夜久久久久久电影| 亚洲自拍偷拍图区| 亚洲综合一区二区三区| 亚洲欧美日韩在线播放| 国产精品电影院| 亚洲欧美一区二区三区久本道91| 日本一区二区免费在线观看视频| 久久综合久久综合九色| 2017欧美狠狠色| 久久蜜桃av一区二区天堂| 久久综合精品国产一区二区三区| 欧美tickling网站挠脚心| 精品日产卡一卡二卡麻豆| 欧美mv日韩mv国产网站app| 欧美草草影院在线视频| 精品美女在线播放| 国产欧美综合在线观看第十页| 久久久精品蜜桃| **欧美大码日韩| 亚洲一区二区三区中文字幕在线| 亚洲高清三级视频| 久久av老司机精品网站导航| 狠狠色综合日日| 成人av免费在线| 欧洲色大大久久| 精品国产凹凸成av人网站| xf在线a精品一区二区视频网站| 中文字幕精品在线不卡| 一区二区三区免费网站| 日一区二区三区| 国产精品66部| 欧美三级日韩在线| 欧美v国产在线一区二区三区| 中日韩av电影| 亚洲国产裸拍裸体视频在线观看乱了 | 麻豆成人综合网| av在线一区二区| 欧美日韩国产在线观看| 久久综合久久鬼色中文字| 最新日韩av在线| 亚洲成精国产精品女| 国产成人在线视频网站| 欧美日韩一卡二卡三卡 | 色丁香久综合在线久综合在线观看 | 一本色道久久综合亚洲aⅴ蜜桃 | 欧美午夜不卡在线观看免费| 精品国产伦一区二区三区观看方式 | 亚洲va韩国va欧美va| 国产综合色在线视频区| 日本道色综合久久| 久久青草国产手机看片福利盒子 | 日韩欧美国产不卡| 亚洲欧美一区二区不卡| 久久aⅴ国产欧美74aaa|