使用guzzle客户端获取元标记

问题描述 投票:0回答:2

我有一个代码:

$client = new \GuzzleHttp\Client();
$response = $client->request('GET', 'http://example.com');
$meta $response->body(true)['meta']; //get meta description

我需要从网站获取元描述内容。我怎么能这样做?我的解决方案不起作用..我得到错误:未定义索引元

php guzzle
2个回答
0
投票

你不需要Guzzle

$tags = get_meta_tags('http://www.example.com/');

echo $tags['author'];
echo $tags['keywords'];     
echo $tags['description'];

要么

$content = $response->body();
$tags = get_meta_tags($content);

0
投票

使用get_meta_tags函数

ini_set('user_agent', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10.7; rv:7.0.1) Gecko/20100101 Firefox/7.0.1');
$meta_tags = get_meta_tags('www.example.com');

使用curl

$user_agent = 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.109 Safari/537.36';
$ch = curl_init();
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($curl, CURLOPT_USERAGENT, $user_agent);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_URL, "https://example.com");
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);

$data = curl_exec($ch);
curl_close($ch);

print_r($data);
© www.soinside.com 2019 - 2024. All rights reserved.