public function testCanFetchNonvideoMetaTags() { $analyzer = new WebpageAnalyzer('http://www.vilcap.com'); $info = $analyzer->getOpenGraphDetails(); $keys = ['title', 'image_url', 'site_name', 'video_url', 'description', 'url']; foreach ($keys as $key) { $this->assertArrayHasKey($key, $info); } $this->assertEmpty($info['video_url']); }
/** * {@inheritdoc} */ public function crawl($url) { try { $http = new HttpClient($this->userAgent); $analyzer = new WebpageAnalyzer($url, $http); // Get OpenGraph tags $result = $analyzer->getOpenGraphDetails(); $result['type'] = 'opengraph'; if (empty($result['title'])) { $result['title'] = $analyzer->getTitle(); } if (empty($result['description'])) { $result['description'] = $analyzer->getDescription(); } if (empty($result['image_url'])) { $result['images'] = $analyzer->getImages(); } return $result; } catch (\Exception $e) { return false; } }