我正在使用curl从网站获取页面并在变量中获取响应。现在我使用Simple HTML DOM Parse来解析响应,但是我收到了这个错误。
致命错误:在第39行的C:\ xampp \ htdocs \ Amit \ multi_curl.php中的非对象上调用成员函数find()
现在,如果我在一个文件中获得响应然后读取此文件来解析数据,那么就没有错误。在读取文件时,我将内容放在一个变量中,然后解析相同的内容。 如果不直接从文件中读取和解析响应,我怎样才能实现这一目标?
写入文件和阅读代码:
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
// grab URL and pass it to the browser
$fp = fopen("fk_homepage.txt", "w");
curl_setopt($ch, CURLOPT_FILE, $fp);
curl_exec($ch);
curl_close($ch);
fclose($fp);
$fk= file_get_html('fk_homepage.txt');
$ret = $fk->find('div[class=fk-product-thumb fkp-medium]');
$i=0;
foreach($ret as $v)
{
if (strpos($v,'Rs')!==false)
{
echo "<div id=\"dis".$i."\">";
$first=strpos($v->find('a',0)->href,'&');
echo "<a href=\"http://amit.com".substr($v->find('a',0)->href,0,$first)."\"> Click Amit Buy</a>";
echo $v."\n</div>";
$i++;
}
}
unset($fk);
不工作的代码:
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$cont=curl_exec($ch);
curl_close($ch);
$ret = $cont->find('div[class=fk-product-thumb fkp-medium]');
$i=0;
foreach($ret as $v)
{
if (strpos($v,'Rs')!==false)
{
echo "<div id=\"dis".$i."\">";
$first=strpos($v->find('a',0)->href,'&');
echo "<a href=\"http://flipkart.com".substr($v->find('a',0)->href,0,$first)."\"> Click Amit Buy</a>";
echo $v."\n</div>";
$i++;
}
}