我想使用 php 从外部网站提取(解析)部分 HTML 文档
例如:为了从 yahoo 中提取新闻,我尝试使用sourceforge中的 SimpleHTML DOM Parser
<?php
$url="http://news.yahoo.com/einsteins-brain-now-interactive-ipad-app-071441969.html";
include('simple_html_dom.php');
$html=new simple_html_dom();
$html->load_file($url);
$xxx=$html->find('title')->innertext;
echo $xxx;
?>
致命错误:在第 1113 行的 /home/a1234bc/public_html/simple_html_dom.php 中的非对象上调用成员函数 find()
然后我尝试回显加载的 html
<?php
$url="http://news.yahoo.com/einsteins-brain-now-interactive-ipad-app-071441969.html";
include('simple_html_dom.php');
$html=new simple_html_dom();
$html->load_file($url);
echo $html;
?>
现在我得到:
致命错误:在第 1688 行的 /home/a1234bc/public_html/simple_html_dom.php 中的非对象上调用成员函数 innertext()
我还尝试通过 file_get_contents() 使用 DOMDocument()
<?php
$url="http://news.yahoo.com/einsteins-brain-now-interactive-ipad-app-071441969.html";
$content = file_get_contents($url);
// echo $content works perfect
$doc = new DOMDocument();
$doc->loadHTML($content);
$jjj=$doc->getElementsByTagName('title')->item(0);
echo $jjj;
?>
这会引发一长串警告。所以让我单独复制粘贴前10个
警告:DOMDocument::loadHTML() [domdocument.loadhtml]: htmlParseEntityRef: 实体中没有名称,第 37 行 /home/a1234bc/public_html/simple_html_dom.php 中的第 166 行
警告:DOMDocument::loadHTML() [domdocument.loadhtml]: htmlParseEntityRef: 期待 ';' 在实体中,第 37 行 /home/a1234bc/public_html/simple_html_dom.php 中的第 166 行
警告:DOMDocument::loadHTML() [domdocument.loadhtml]: htmlParseEntityRef: 实体中没有名称,第 37 行 /home/a1234bc/public_html/simple_html_dom.php 中的第 256 行
警告:DOMDocument::loadHTML() [domdocument.loadhtml]: htmlParseEntityRef: 期待 ';' 在实体中,第 37 行 /home/a1234bc/public_html/simple_html_dom.php 中的第 256 行
警告:DOMDocument::loadHTML() [domdocument.loadhtml]:标签 fb:login-button 在实体中无效,第 37 行 /home/a1234bc/public_html/simple_html_dom.php 中的第 256 行
警告:DOMDocument::loadHTML() [domdocument.loadhtml]: htmlParseEntityRef: 期待 ';' 在实体中,第 37 行 /home/a1234bc/public_html/simple_html_dom.php 中的第 275 行
警告:DOMDocument::loadHTML() [domdocument.loadhtml]: htmlParseEntityRef: 期待 ';' 在实体中,第 37 行 /home/a1234bc/public_html/simple_html_dom.php 中的第 287 行
警告:DOMDocument::loadHTML() [domdocument.loadhtml]: htmlParseEntityRef: 期待 ';' 在实体中,第 37 行 /home/a1234bc/public_html/simple_html_dom.php 中的第 292 行
警告:DOMDocument::loadHTML() [domdocument.loadhtml]: htmlParseEntityRef: 期待 ';' 在实体中,第 37 行 /home/a1234bc/public_html/simple_html_dom.php 中的第 311 行
警告:DOMDocument::loadHTML() [domdocument.loadhtml]:在实体中重新定义属性类,第 37 行 /home/a1234bc/public_html/simple_html_dom.php 中的第 325 行
有人可以指出我正确的方向吗?