public void extractor() throws UnknownHostException, InterruptedException {
        int c = 0;
        conf.init();
        while (true) {
            double lastProcessTime = 0;
            DB db = Mongo.connect(new DBAddress(conf.getSourceHost(), conf.getSourceMongoDBName()));
            DB proDb = Mongo.connect(new DBAddress(conf.getProcessHost(), conf.getProcessDBName()));
            DBCollection coll = db.getCollection(conf.getSourceMongoCollectionName());
            DBCollection proColl = proDb.getCollection(conf.getProcessCollectionName());
            DBObject timeObj = proColl.findOne();
            //System.out.println(timeObj != null && timeObj.containsField("time"));
            if (timeObj != null && timeObj.containsField("time")) {
                lastProcessTime = Double.parseDouble(timeObj.get("time").toString());
            }
            System.out.println("--\tRound:" + (++c) + "\tLast Process Time:" + lastProcessTime + "\t--");
            DBObject queryObj = new BasicDBObject().append("time", new BasicDBObject().append("$gt", lastProcessTime)).append("url", new BasicDBObject("$regex", "info"));
            DBCursor cur = coll.find(queryObj);
            while (cur.hasNext()) {
                DBObject obj = cur.next();
                double curTime = (Double) obj.get("time");
                if (lastProcessTime < curTime) {
                    lastProcessTime = curTime;
                    proColl.save(new BasicDBObject().append("date", new Date().getTime()).append("time", lastProcessTime));
                }
                String url = obj.get("url").toString();
                if (type == Extractor.SINA) {
                    url = url.substring(url.indexOf("com/") + 4, url.indexOf("/info"));
                }else if(type== Extractor.TENCENT){
                    url=url.substring(url.indexOf("u=")+2);
                }
                synchronized (MultiExtractor.class) {
                    int tcount = MultiExtractor.getThreadCount();
                    while (tcount > 20) {
                        MultiExtractor.class.wait();
                        tcount = MultiExtractor.getThreadCount();
                    }
                    MultiExtractor t = new MultiExtractor(conf, url, obj.get("html").toString());
                    t.start();
                }
            }
            cur.close();
            db.getMongo().close();
            proDb.getMongo().close();
            Thread.sleep(1000 * 60 * 10);
        }

    }