我正在使用PHP的cURL和explode方法来远程地从Reddit帖子页面中提取投票结果。
它相当慢,从点击按钮到返回数据需要几秒钟的时间,我的问题是,我如何才能加快速度?我可以在哪里优化它?是cURL获取网址的速度很慢,还是分解页面的速度很慢?
下面是我如何定位upvote div并获取它的内容:
function between($src, $start, $end){
$txt = explode($start, $src);
$txt2 = explode($end, $txt[1]);
return trim($txt2[0]);
}
$title = between($data, '<div class="score unvoted">','</div>');下面是我用来从Reddit获取页面数据的函数。
function get_data($url) {
$ch = curl_init();
$timeout = 5;
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
$data = curl_exec($ch);
curl_close($ch);
return $data;
}发布于 2014-01-13 23:41:51
也许有必要研究一下像WebGrind这样的分析工具,看看哪里直接出现了慢。
很可能是cURL降低了页面的速度,但如果没有性能分析,您就无法确定。
https://stackoverflow.com/questions/13339096
复制相似问题