PHP CURL:在一个循环中抓取多个页面


PHP CURL: Crawling multiples pages in a loop

我正试图通过循环从多个url中获取数据。在第一个循环中,我正在获取数据,但在那之后,浏览器会显示"No data RECEIVED"消息。我试着延迟功能,但它不起作用。我该怎么办?我总是得到第一页,但在那之后我就没有得到数据了。这是我的代码:

public function Crawl(){
    $url=array(0=>array("ABCD"=>
        array(0=>"http://abcd.com"
        )),
        1=>array("XYZ"=>
        array(0=>"xyz.com"
        ))
        );
        foreach ($url as $key => $value) {                
            $this->Cron($value);                
            sleep(5);
        }
}

public function Cron($url=null){        
    ob_start();
    set_time_out(0);
    foreach($url as $urlkey=>$urlvalue){
         for($prodcount=0;$prodcount<count($urlvalue);$prodcount++){
         $ch = curl_init();  // Initialising cURL
        curl_setopt($ch, CURLOPT_URL, $urlvalue[$prodcount]);    // Setting cURL's URL option with the $url variable passed into the function
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE); // Setting cURL's option to return the webpage data
        $data = curl_exec($ch); // Executing the cURL request and assigning the returned data to the $data variable
        curl_close($ch);    // Closing cURL
         //echo $data;   // Returning the data from the function
        $html = str_get_html($data);
        echo $html;
         ob_flush();
    }
}
}

我认为html格式不正确可能是个问题。

尝试添加标签和最重要的:

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">