我尝试从电子商务网站检索产品的元标记(如10,000)。该脚本有时会工作,并且会在其余时间内失败。我面临的错误是
致命错误:在......
中的非对象上调用成员函数find()
请建议更好的方法。
以下是我使用的代码:
$url = "http://www.amazon.com/dp/".$asin;
$html = file_get_html( $url );
$metatags = array();
foreach( $html->find( 'meta[name]' ) as $meta ) {
$metatags[ 'meta' ][] = array(
'name' => $meta->name,
'content' => $meta->content
);
}
答案 0 :(得分:0)
正如@Dagon指出的更好的使用Amazon API的方法,这个链接有一个good tutorial in this topic
任何方式,要解决代码问题,请尝试以下方法:
$url = "http://www.amazon.com/dp/".$asin;
$html = file_get_html( $url );
$metatags = array();
$names = array();
try{
$names = $html->find( 'meta[name]' );
}
catch(Exception $e)
{
error_log("Error: ".$e->getMessage());
}
foreach( $names as $meta ) {
$metatags[ 'meta' ][] = array(
'name' => $meta->name,
'content' => $meta->content
);
}