无法使用domcrawler提取og:image,但可以使用og:description

时间:2019-08-21 19:26:20

标签: php laravel guzzle goutte domcrawler

因此,我尝试使用php软件包“ Goutte”使用domcrawler来获取一些开放图形数据。

具体地说,我正在尝试提取og:image

$goutteClient = new Client();
$guzzleClient = new GuzzleClient(array(
    'timeout' => 15,
));

$goutteClient->setClient($guzzleClient);

try {
    $crawler = $goutteClient->request('GET', $url);
    $crawlerError = false;
} catch (RequestException $e) {
    $crawlerError = true;
}


$OGimage = $crawler->filterXPath("//meta[@name='image']")->attr('content');
//find open graph image
dd($OGimage);

因此,如果使用此URL进行尝试,例如:

https://www.bbc.com/sport/football/49421006

它将返回一个空字符串。

但是,如果我输入meta[@name='description']而不是图片,它将返回

  

“法国国脚里贝里(Franck Ribery)加盟意甲球队佛罗伦萨(Fiorentina)   夏天离开拜仁慕尼黑后可以免费接送。”

但是当我查看此页面的源代码时,显然会有一个og:image标签。

为什么这返回的是空的却没有描述?值得一提的是,所有打开的图形标记均使用此EXCEPT描述返回空字符串,效果很好。

0 个答案:

没有答案