2011-07-13 8 views
0
This is the code taken from http://code.google.com/p/crawler4j/ and the name of this file is MyCrawler.java 


public class MyCrawler extends WebCrawler { 

     Pattern filters = Pattern.compile(".*(\\.(css|js|bmp|gif|jpe?g" 
       + "|png|tiff?|mid|mp2|mp3|mp4" 
       + "|wav|avi|mov|mpeg|ram|m4v|pdf" 
       + "|rm|smil|wmv|swf|wma|zip|rar|gz))$"); 

     /* 
     * You should implement this function to specify 
     * whether the given URL should be visited or not. 
     */ 
     public boolean shouldVisit(WebURL url) { 
       String href = url.getURL().toLowerCase(); 
       if (filters.matcher(href).matches()) { 
         return false; 
       } 
       if (href.startsWith("http://www.xyz.us.edu/")) { 
         return true; 
       } 
       return false; 
     } 

     /* 
     * This function is called when a page is fetched 
     * and ready to be processed by your program 
     */ 
     public void visit(Page page) { 
       int docid = page.getWebURL().getDocid(); 
       String url = page.getWebURL().getURL();   
       String text = page.getText(); 
       List<WebURL> links = page.getURLs();    
     } 
} 

そして、これはMyCrawlerが呼び出さなっているところからController.javaのコード..です増加クローラ内のスレッド数

public class Controller { 
     public static void main(String[] args) throws Exception { 
       CrawlController controller = new CrawlController("/data/crawl/root"); 
       controller.addSeed("http://www.xyz.us.edu/"); 
       controller.start(MyCrawler.class, 10); 
     } 
} 

だから私は、この行はコントローラに意味はないものを確認します.javaファイル

controller.start(MyCrawler.class, 10); 

は、ここでは10の意味は何..ですそして、我々は、10〜20本を増やすならば、効果がどうなるか...任意の提案は...

を理解されるであろう

答えて

3

Thisのウェブサイトでは、CrawlControllerのソースが表示されます。

10から20までインクリメントすると、クローラの数が増えます(それぞれ独自のスレッド内にあります)。そのコードを調べることで、これにどのような影響があるかがわかります。

+0

これはスレッドを増やしていることを意味しています。 – ferhan

+0

はい、正しい – KevinDTimm

1

あなたが投稿に付けた名前があれば、これが何をしているのかはすでにわかっているようです。クローラスレッドの数が設定されています。どのような影響があるのか​​は、各スレッドがI/Oを待つ時間(主にネットワーク、ディスク、CPUとディスクのスループット)に大きく依存します。これ以上のCPU時間が

  • これ以上のネットワーク帯域幅
  • これ以上のディスク帯域幅CPUの場合
  • を左

    • は、得ることを期待していない:これらのいずれかが発生した場合、ピークスループットが発生します〜100% - 図の80%程度です。

    関連する問題