使用 DOM 抓取工具从 url 获取元标记

Get meta tags from url with DOM crawler

我已经在我的项目中安装了 symfony/dom-crawler。 我正在尝试从某个随机站点的 URL 获取一些元标记进行测试。

$url = 'https://www.lala.rs/fun/this-news';

$crawler = new Crawler($url);

$data = $crawler->filterXpath("//meta[@name='description']")->extract(array('content'));

结果总是returns[]

我试过基本的元描述,但也许我理解不正确。 我检查了 Symfony documentation 但找不到正确的方法。

您需要将 HTML 内容传递给 new Crawler($html) 而不是 URL。

Works fine on this page, using viewport, because of missing description.

<meta name="viewport" content="width=device-width, height=device-height, initial-scale=1.0, minimum-scale=1.0">
$url = '
$html = file_get_contents($url);
$crawler = new Crawler($html);

$data = $crawler->filterXpath("//meta[@name='viewport']")->extract(['content']);

给出

Array
(
    [0] => width=device-width, height=device-height, initial-scale=1.0, minimum-scale=1.0
)