使用 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
)
我已经在我的项目中安装了 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 missingdescription
.
<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
)