我想獲取google.com的元描述/關鍵字,但最終得到了一個空數組。用簡單的html dom獲取元素1.5 2014 php
<?php
include "simple_html_dom.php";
$url = isset($_POST['url']) ? $_POST['url'] : ''; // this would be http://www.google.com
if(!empty($url) && @file_get_contents($url) == true) {
$html = new simple_html_dom();
$html->load_file($url); //put url or filename in place of xxx
$title = $html->find('title', 0)->plaintext;
//echo $title;
$descr = $html->find("meta[name='description']", 0);
var_dump($descr); // NULL
}
?>
的$title
正在得到確定,但說明一個問題,不明白爲什麼。 我也試過在Fatal error: Call to a member function attr() on a non-object
或
$descr = $html->find("meta[name='description']", 0)->getAttribute('content');
$descr = $html->find("meta[name='description']", 0)->content;
結果Notice: Trying to get property of non-object
或
$descr = $html->find("meta[name='description']", 0)->attr('content');
結果結果爲Fatal error: Call to a member function getAttribute() on a non-object
。
所有這些錯誤,我相信他們是因爲元描述無法找到,儘管事實上,如果你打開在谷歌.com上查看源代碼,你會發現這是你看到頭標後的第一件事 請幫忙我在這我簡單的HTML DOM的noob。非常感謝。
?不工作,甚至沒有工作關鍵字。我得到'注意:未定義的偏移量:0' +'注意:試圖獲取非對象的屬性' – user3650099
您能解析HTML文件的其餘部分(標題,Divs ...)嗎?或者這是否也會導致錯誤? – user3660133
如果我在'$ html-> load_file($ url)之後做'echo $ html;'''我可以看到網頁。它認爲它只適用於標題,標題正在被解析。 – user3650099