示例#1
0
 /**
  * RSSを取得する
  *
  * @return DOMDocument
  **/
 public function fetchRss()
 {
     try {
         if (!is_null($this->test_data)) {
             $rss_xml = file_get_contents($this->test_data->getRssPath());
         } else {
             $rss_xml = file_get_contents($this->rss_url);
         }
         $dom = new \DOMDocument('1.0', 'UTF-8');
         $dom->loadXML($rss_xml);
     } catch (\Exception $e) {
         throw new CrawlerException('RSSを取得出来ませんでした');
     }
     return $dom;
 }
示例#2
0
 /**
  * テストデータを取得して更新する
  *
  * @param  AbstractTestData $plugin
  * @return void
  **/
 private function _updateTestData(AbstractTestData $plugin)
 {
     // エラー用のデータ(error.html, error2.html)を除外するため-2する
     $count = count($plugin->getHtmlPaths()) - 2;
     $dom = new \DOMDocument('1.0', 'UTF-8');
     $dom->load($plugin->getRssPath());
     $items = $dom->getElementsByTagName('item');
     if ($items->length === 0) {
         $items = $dom->getElementsByTagName('entry');
     }
     foreach ($items as $key => $item) {
         $test_data = $this->_downloadTestData($item);
         $test_data_path = $plugin->getHtmlPaths()[$key];
         file_put_contents(ROOT . '/data/fixtures/html/' . $test_data_path, $test_data);
     }
 }