/** * クロール処理を行う * * @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); }
/** * テスト用ページをクロールする * * @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); }
/** * @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); }