示例#1
0
 /**
  * クロール処理を行う
  *
  * @param  array $plugins  読み込むプラグイン名の配列
  * @return array
  **/
 private function _crawl($plugins)
 {
     $crawler = new Crawler();
     $p_manager = new PluginManager();
     $crawl_data = array();
     foreach ($plugins as $plugin_name) {
         $plugin = $p_manager->getPlugin($plugin_name);
         $crawler->setPlugin($plugin);
         $crawl_data = $crawler->crawl();
         $this->crawl_data = array_merge($this->crawl_data, $crawl_data);
     }
     // エントリーデータを整理する
     $entry_manager = new EntryManager();
     $this->crawl_data = $entry_manager->format($this->crawl_data);
 }
示例#2
0
 /**
  * テスト用ページをクロールする
  *
  * @return void
  **/
 private function _crawlTestPages()
 {
     $crawler = new Crawler();
     $manager = new PluginManager();
     $container = new Container(new CrawlerPluginTestDataFactory());
     foreach ($manager->getEnablePluginNames() as $plugin_name) {
         $plugin = $manager->getPlugin($plugin_name);
         $plugin->setTestData($container->get($plugin_name));
         $crawler->setPlugin($plugin);
         $entry_data = $crawler->crawl();
         $this->crawl_data = array_merge($this->crawl_data, $entry_data);
     }
     $entry_manager = new EntryManager();
     $this->crawl_data = $entry_manager->format($this->crawl_data);
 }
示例#3
0
 /**
  * @test
  * @group p_manager
  * @group p_manager-get-plugin
  */
 public function 指定名のプラグインを取得する()
 {
     $p_name = 'AdultAdult';
     $plugin = $this->manager->getPlugin($p_name);
     $this->assertInstanceOf('Midnight\\Crawler\\Plugin\\AdultAdult', $plugin);
 }