因此,我尝试使用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描述返回空字符串,效果很好。