获取Curl对变量的响应但无法解析它

时间:2012-11-06 09:54:45

标签: php curl simple-html-dom

我正在使用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++;
    }
}   

0 个答案:

没有答案