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

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

?? webdbreader.java

?? 爬蟲數據的改進,并修正了一些bug
?? JAVA
?? 第 1 頁 / 共 2 頁
字號:
        public Object nextElement() {
            if (nextItem == null) {
                throw new NoSuchElementException("PageDB Enumeration");
            }

            Page toReturn = nextItem;
            this.nextItem = new Page();
            try {
                if (! reader.next(nextItem)) {
                    this.nextItem = null;
                }
            } catch (IOException ie) {
                this.nextItem = null;
            }
            return toReturn;
        }
    }

    /**
     * Get all the hyperlinks that link TO the indicated URL.
     */     
    public Link[] getLinks(UTF8 url) throws IOException {
        Vector records = new Vector(3);
        Link l = new Link();
        l.getURL().set(url);

        linksByURL.seek(l);
        while (linksByURL.next(l, NullWritable.get())) {
            if (url.equals(l.getURL())) {
                records.add(l);
                l = new Link();
            } else {
                break;
            }
        }
        
        // Xfer from the vector into an array
        return (Link[]) records.toArray(LINK_RECORDS);
    }

    /**
     * Grab all the links from the given MD5 hash.
     */
    public Link[] getLinks(MD5Hash md5) throws IOException {
        Vector records = new Vector(3);
        Link l = new Link();
        l.getFromID().set(md5);

        linksByMD5.seek(l);
        while (linksByMD5.next(l, NullWritable.get())) {
            if (md5.equals(l.getFromID())) {
                records.add(l);
                l = new Link();
            } else {
                break;
            }
        }
        
        // Xfer from the vector into an array
        return (Link[]) records.toArray(LINK_RECORDS);
    }

    /**
     * Return all the links, by target URL
     */
    public Enumeration links() {
        return new MapEnumerator(linksByURL);
    }

    /**
     * Return the number of links in our db.
     */
    public long numLinks() {
        return totalLinks;
    }

    //
    // Here's the class for the above function
    //
    class MapEnumerator implements Enumeration {
        MapFile.Reader reader;
        Link nextItem;

        /**
         * Start the cursor and find the first item.
         * Store it for later return.
         */
        public MapEnumerator(MapFile.Reader reader) {
            this.reader = reader;
            this.nextItem = new Link();
            try {
                if (! reader.next(this.nextItem, NullWritable.get())) {
                    this.nextItem = null;
                }
            } catch (IOException ie) {
                this.nextItem = null;
            }
        }

        /**
         * If there's no item left in store, we've hit the end.
         */
        public boolean hasMoreElements() {
            return (nextItem != null);
        }

        /**
         * Set aside the item we have in store.  Then retrieve
         * another for the next time we're called.  Finally, return
         * the set-aside item.
         */
        public Object nextElement() {
            if (nextItem == null) {
                throw new NoSuchElementException("PageDB Enumeration");
            }

            Link toReturn = nextItem;
            this.nextItem = new Link();
            try {
                if (! reader.next(nextItem, NullWritable.get())) {
                    this.nextItem = null;
                }
            } catch (IOException ie) {
                this.nextItem = null;
            }
            return toReturn;
        }
    }

    /**
     * The WebDBReader.main() provides some handy utility methods
     * for looking through the contents of the webdb.  Hoo-boy!
     */
    public static void main(String argv[]) throws FileNotFoundException, IOException {
        if (argv.length < 2) {
            System.out.println("Usage: java net.nutch.db.WebDBReader (-local | -ndfs <namenode:port>) <db> [-pageurl url] | [-pagemd5 md5] | [-dumppageurl] | [-dumppagemd5] | [-toppages <k>] | [-linkurl url] | [-linkmd5 md5] | [-dumplinks] | [-stats]");
            return;

        }

        int i = 0;
        NutchFileSystem nfs = NutchFileSystem.parseArgs(argv, i);
        File dbDir = new File(argv[i++]);
        WebDBReader reader = new WebDBReader(nfs, dbDir);
        try {
            String cmd = argv[i++];

            if ("-pageurl".equals(cmd)) {
                String url = argv[i++];
                System.out.println(reader.getPage(url.trim()));
            } else if ("-pagemd5".equals(cmd)) {
                MD5Hash md5 = new MD5Hash(argv[i++]);
                Page pages[] = reader.getPages(md5);
                System.out.println("Found " + pages.length + " pages.");
                for (int j = 0; j < pages.length; j++) {
                    System.out.println("Page " + j + ": " + pages[j]);
                }
            } else if ("-dumppageurl".equals(cmd)) {
                System.out.println(reader);
                System.out.println();
                int j = 1;
                for (Enumeration e = reader.pages(); e.hasMoreElements(); j++) {
                    Page page = (Page) e.nextElement();
                    System.out.println("Page " + j + ": " + page);
                    System.out.println();
                }
            } else if ("-dumppagemd5".equals(cmd)) {
                System.out.println(reader);
                System.out.println();
                int j = 1;
                for (Enumeration e = reader.pagesByMD5(); e.hasMoreElements(); j++) {
                    Page page = (Page) e.nextElement();
                    System.out.println("Page " + j + ": " + page);
                    System.out.println();
                }
            } else if ("-toppages".equals(cmd)) {
                int topSize = Integer.parseInt(argv[i++]);

                // Create a sorted list
                SortedSet topSet = new TreeSet(new Comparator() {
                    public int compare(Object o1, Object o2) {
                        Page p1 = (Page) o1;
                        Page p2 = (Page) o2;
                        if (p1.getScore() < p2.getScore()) {
                            return -1;
                        } else if (p1.getScore() == p2.getScore()) {
                            // If two scores are equal, we will
                            // use regular Page comparison (which
                            // uses URL as the primary key).  We
                            // don't want to uniquify by score!
                            return p1.compareTo(p2);
                        } else {
                            return 1;
                        }
                    }
                }
                    );

                // Find the top "topSize" elts
                Page lowestPage = null;
                for (Enumeration e = reader.pages(); e.hasMoreElements(); ) {
                    Page curPage = (Page) e.nextElement();
                    if (topSet.size() < topSize) {
                        topSet.add(curPage);
                        lowestPage = (Page) topSet.first();
                    } else if (lowestPage.getScore() < curPage.getScore()) {
                        topSet.remove(lowestPage);
                        topSet.add(curPage);
                        lowestPage = (Page) topSet.first();
                    }
                }
            
                // Print them out
                int j = 0;
                for (Iterator it = topSet.iterator(); it.hasNext(); j++) {
                    System.out.println("Page " + j + ": " + (Page) it.next());
                    System.out.println();
                }
            } else if ("-linkurl".equals(cmd)) {
                String url = argv[i++];
                Link links[] = reader.getLinks(new UTF8(url.trim()));
                System.out.println("Found " + links.length + " links.");
                for (int j = 0; j < links.length; j++) {
                    System.out.println("Link " + j + ": " + links[j]);
                }
            } else if ("-linkmd5".equals(cmd)) {
                MD5Hash fromID = new MD5Hash(argv[i++]);
                Link links[] = reader.getLinks(fromID);
                System.out.println("Found " + links.length + " links.");
                for (int j = 0; j < links.length; j++) {
                    System.out.println("Link " + j + ": " + links[j]);
                }
            } else if ("-dumplinks".equals(cmd)) {
                System.out.println(reader);
                System.out.println();
                Enumeration e = reader.pagesByMD5();
                while (e.hasMoreElements()) {
                  Page page = (Page) e.nextElement();
                  Link[] links = reader.getLinks(page.getMD5());
                  if (links.length > 0) {
                    System.out.println("from " + page.getURL());
                    for (int j = 0; j < links.length; j++) {
                      System.out.println(" to " + links[j].getURL());
                    }
                    System.out.println();
                  }
                }
            } else if ("-stats".equals(cmd)) {
                System.out.println("Stats for " + reader);
                System.out.println("-------------------------------");
                System.out.println("Number of pages: " + reader.numPages());
                System.out.println("Number of links: " + reader.numLinks());
            } else {
                System.out.println("Sorry, no command with name " + cmd);
            }
        } finally {
            reader.close();
            nfs.close();
        }
    }
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲欧美日韩国产成人精品影院 | 日本精品免费观看高清观看| 欧美亚洲图片小说| 日韩一区二区电影| 樱花草国产18久久久久| 精品一区二区三区在线播放| 成人av小说网| 精品不卡在线视频| 亚洲高清在线精品| caoporen国产精品视频| 日韩亚洲欧美一区| 亚洲午夜在线电影| 99久久亚洲一区二区三区青草| 欧美一区二区三区思思人| 亚洲欧美色一区| 高清国产午夜精品久久久久久| 日韩一区二区电影在线| 亚洲一区自拍偷拍| 成人免费毛片app| 精品国产伦一区二区三区观看体验 | 国产午夜一区二区三区| 日韩一区精品视频| 日本高清视频一区二区| 国产精品久久夜| 国产精品18久久久| 精品噜噜噜噜久久久久久久久试看| 亚洲一区二区偷拍精品| 91毛片在线观看| 亚洲欧洲日韩一区二区三区| 国产剧情在线观看一区二区| 精品国免费一区二区三区| 日韩主播视频在线| 精品一区二区三区蜜桃| 欧美三级一区二区| 综合久久综合久久| 国产99一区视频免费| 欧美成人一区二区三区片免费| 亚洲综合在线观看视频| 日韩激情一区二区| 国产资源精品在线观看| 欧美日韩一区三区四区| 亚洲欧美综合色| 成人avav影音| 国产精品美女久久久久久久久 | 亚洲黄色片在线观看| 国产精品99久久久久久久女警 | 国产欧美一区视频| 蜜臀av性久久久久蜜臀aⅴ四虎| 在线观看免费一区| 亚洲色图视频网站| 处破女av一区二区| 国产日韩欧美高清| 99久久精品免费看| 国产欧美日韩视频一区二区| 日本亚洲三级在线| 精品福利在线导航| 国产一区二区看久久| 久久婷婷国产综合精品青草| 国内精品免费**视频| 久久婷婷国产综合国色天香| 国产精选一区二区三区| 国产日韩欧美精品在线| 国产成a人亚洲精品| 久久综合一区二区| 国产成人亚洲综合色影视| 中文久久乱码一区二区| 色综合久久综合网欧美综合网| 亚洲六月丁香色婷婷综合久久| 在线观看视频欧美| 日本系列欧美系列| 日韩精品一区二| 日本不卡高清视频| 国产女同性恋一区二区| 91在线视频播放| 亚洲v中文字幕| 26uuu国产电影一区二区| 国产精品99久久久| 亚洲免费三区一区二区| 欧美美女直播网站| 久久99国产精品尤物| 国产精品嫩草99a| 欧美三级中文字| 国产乱淫av一区二区三区| 中文子幕无线码一区tr| 欧美日韩在线不卡| 韩国欧美国产1区| 国产精品网曝门| 日韩免费观看高清完整版| 成人性生交大片免费看中文| 亚洲精品国产a| 2021国产精品久久精品| 97久久超碰国产精品| 五月天久久比比资源色| 国产日韩精品一区二区三区| 欧美在线不卡视频| 老司机精品视频在线| 国产精品国产三级国产普通话三级| 欧美久久久久久蜜桃| 国产一区二区三区免费看| 怡红院av一区二区三区| 久久精品视频在线免费观看| av成人免费在线观看| 精品综合久久久久久8888| 亚洲精品视频一区二区| 国产欧美va欧美不卡在线| 欧美丰满嫩嫩电影| 色综合久久综合| 国产乱码精品1区2区3区| 亚洲国产成人av好男人在线观看| 精品奇米国产一区二区三区| 色菇凉天天综合网| 丁香激情综合五月| 调教+趴+乳夹+国产+精品| 国产精品白丝在线| 久久久国产精品不卡| 日韩女优av电影在线观看| 欧美日韩国产一级片| thepron国产精品| 国产成人免费在线| 久久99国产乱子伦精品免费| 午夜精品一区二区三区免费视频 | 久久国产精品无码网站| 亚洲第一主播视频| 亚洲欧美激情视频在线观看一区二区三区 | 国产精品国产自产拍高清av | 国产三级欧美三级日产三级99| 6080午夜不卡| 91成人在线免费观看| 狠狠狠色丁香婷婷综合激情| 青青草原综合久久大伊人精品优势| 亚洲国产另类av| 亚洲一区二区在线免费观看视频| 亚洲欧美偷拍三级| 亚洲欧美日韩一区二区三区在线观看| 国产女人18毛片水真多成人如厕| 欧美成人a在线| 亚洲精品一区二区三区精华液 | 日韩国产欧美视频| ...xxx性欧美| 日韩久久一区二区| 中文字幕欧美日韩一区| ...av二区三区久久精品| 亚洲乱码日产精品bd| 亚洲精品免费播放| 亚洲综合激情另类小说区| 亚洲综合色视频| 亚洲电影一级黄| 日韩精品一卡二卡三卡四卡无卡| 丝袜亚洲另类欧美| 免费成人深夜小野草| 国产91富婆露脸刺激对白| 精品亚洲aⅴ乱码一区二区三区| 天堂精品中文字幕在线| 免费人成在线不卡| 国产乱人伦偷精品视频不卡| 丁香婷婷综合激情五月色| 99久久久久免费精品国产| 欧洲一区在线电影| 欧美福利视频导航| 欧美精品一区二区三区高清aⅴ | 日韩av午夜在线观看| 国产综合色精品一区二区三区| 国产精品1024| 色天使色偷偷av一区二区| 欧美日韩一区二区三区在线看| 欧美日本在线视频| 久久伊人蜜桃av一区二区| 亚洲三级久久久| 青青草原综合久久大伊人精品| 国产传媒欧美日韩成人| 色狠狠色噜噜噜综合网| 欧美色视频在线| 69堂精品视频| 国产精品美女久久久久av爽李琼| 亚洲最色的网站| 国产一区二区在线电影| 国产又黄又大久久| 欧美日韩五月天| 欧美极品xxx| 日韩电影一区二区三区四区| 国产精品综合网| 91啦中文在线观看| 精品少妇一区二区三区在线播放 | 亚洲成人av免费| 一区二区三区精品在线观看| 国产在线不卡视频| 欧美日韩精品福利| 国产精品拍天天在线| 亚洲天堂av一区| 黑人精品欧美一区二区蜜桃 | 91色视频在线| 亚洲精品一区二区三区福利| 亚洲国产精品久久一线不卡| 国产成人av资源| 欧美一区二区三区播放老司机| 精品奇米国产一区二区三区| 午夜电影一区二区三区| 色哟哟欧美精品| 国产精品视频线看| 国产麻豆精品在线|