2013-04-16 43 views
2

所以我想從網站上刮取一些數據。 有一些名單必須被刮掉。 會發生什麼,如果有15個名字需要被刮掉。除此之外,只有5個名字被刮掉。我怎麼才能讓我的蜷曲在等待幾秒鐘之前刮呢?

當我檢查原始網站時,他們也以類似的方式加載數據。首次加載網站時。只顯示五個名字。在重新加載時,會顯示10個名字,並再次顯示全部15個數據。

任何人都可以告訴我如何讓我的cURL等待幾秒鐘才能抓取原始數據。這樣所有的內容都可以被刮掉?

下面是代碼的,捲曲的設置選項的部分片段:

$post = curl_init(); 
    curl_setopt($post, CURLOPT_URL, $url); 
    curl_setopt($post, CURLOPT_AUTOREFERER, true); 
    curl_setopt($post, CURLOPT_FOLLOWLOCATION, true); 
    curl_setopt($post, CURLOPT_RETURNTRANSFER, 1); 
    curl_setopt($post, CURLOPT_TIMEOUT, 2); 
    $img_contents = curl_exec($post); 
    curl_close($post); 

    $html= str_get_html($img_contents); 
foreach($html->find('div[id=xxxx]') as $stay2) 
{ 

$stay4=$stay2->find('span[class=xxx]'); 

    foreach($stay4 as $stay6) 
    { 
     echo $abc[]= strip_tags($stay6) ."<br/>"; 
    } 
} 

回答

2

添加在睡眠($秒)查看PHP sleep function

+0

感謝ANS SEM,但它不工作:(我猜你必須有一些捲曲功能 –

+0

啊你正在嘗試做的是讓curl等待在一個exec中間 據我所知這是不可能的,你可以做的是保持一個列表名稱,並刮幾次,並將其添加到列表中。 如果你說他們也等幾個秒,這意味着他們做了異步獲取(可能是一個延遲的Ajax調用),你可以做的就是嘗試找出這些調用(螢火蟲是一種方式,我敢肯定還有其他的) 並分別調用那些捲曲 – Sem

相關問題