我一直在PHP中使用CURL请求来获取页面。效果不错,但是当我获取其中包含大量数据的页面时,加载DOM需要花费大量时间,CURL请求的响应显示为空DOM。
在页面成功加载后,是否可以添加一些暂停或延迟来获取页面内容(例如DOM)?
我尝试在curl执行URL大约5分钟后添加“睡眠”,但没有用。
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL,$link);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
$curl_scraped_page = curl_exec($curl);
if ($link == "https://dev.finduslocal.com/sitemap-state/ca.xml") {
var_dump('Sleeping for 5 mins');
sleep(300);
};
$HTTP_CODE = curl_getinfo($curl, CURLINFO_HTTP_CODE);
curl_close($curl);
$dom = HtmlDomParser::str_get_html( $curl_scraped_page );
if ($dom) {
// my code
} else {
echo "DOM not found";
}