Ejemplo n.º 1
0
 public function readTitle($url)
 {
     if (!$this->enabled) {
         return null;
     }
     try {
         $content = $this->fetchUrl($url);
     } catch (\Exception $e) {
         \Yii::getLogger()->log("Crawler fetchUrl exception: {$e->getMessage()}", Logger::LEVEL_ERROR);
         return null;
     }
     try {
         $crawler = new \Symfony\Component\DomCrawler\Crawler();
         $crawler->addHtmlContent($content);
         $node = $crawler->filterXPath('html/head/title');
         if ($node->count() > 0) {
             return $node->first()->text();
         }
     } catch (\Exception $e) {
         \Yii::getLogger()->log("Crawler DOM extraction exception: {$e->getMessage()}", Logger::LEVEL_ERROR);
     }
     return null;
 }