3

我正在使用 Simple HTML Dom 从远程网页上抓取关键字,但我不知道如何实现这一点。

我目前正在使用以下代码。

$html = str_get_html($remote_html);
echo $html->find("meta[keywords]")->content;

并收到以下错误:

Trying to get property of non-object

http://simplehtmldom.sourceforge.net/

4

4 回答 4

11

find() 返回的不是一个对象,而是一个包含(在这种情况下)1 个对象的数组。“关键字”也不是属性,但“名称”是。利用:

$oHTML = str_get_html( $remote_html );
$arElements = $oHTML->find( "meta[name=keywords]" );
echo $arElements[0]->content;
于 2012-11-13T13:56:16.193 回答
3
$headers = array();
$headers["title"] = $html-> find("title",0)-> plaintext;
$headers["keywords"] = $html-> find("meta[name=keywords]",0) ->getAttribute('content');  
$headers["description"] = $html-> find("meta[name=description]",0) ->getAttribute('content'); 
于 2012-11-05T02:04:25.827 回答
2

Give this a shot:

$html->find('meta[description]');

EDIT:

This might work better for your situation http://php.net/manual/en/function.get-meta-tags.php

于 2012-07-24T21:14:17.357 回答
2

尝试这个

$Inner_anchor = file_get_html("Your-Url");
$Inner_anchor->find("head meta[name='description']", 0)->content;
于 2016-06-15T08:02:12.713 回答