最近我用Curl将我的抓取代码移动到了CodeIgniter.我正在使用来自http://philsturgeon.co.uk/code/codeigniter-curl的 Curl CI库.我把抓取过程放在一个控制器中,然后我发现我的抓取的执行时间比我在普通PHP中构建的执行时间要慢.
CodeIgniter输出结果需要12秒,而普通PHP只需要6秒.两者都包括HTML DOM解析器的解析过程.
这是我在CodeIgniter中的Curl代码:
function curl($url, $postdata=false)
{
$agent = "Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.4) Gecko/20030624 Netscape/7.1 (ax)";
$this->curl->create($url);
$this->curl->ssl(false);
$options = array(
'URL' => $url,
'HEADER' => 0,
'AUTOREFERER' => true,
'FOLLOWLOCATION' => true,
'TIMEOUT' => 60,
'RETURNTRANSFER' => 1,
'USERAGENT' => $agent,
'COOKIEJAR' => dirname(__FILE__) . "/cookie.txt",
'COOKIEFILE' => dirname(__FILE__) . "/cookie.txt",
);
if($postdata)
{
$this->curl->post($postdata, $options);
}
else
{
$this->curl->options($options);
}
return $this->curl->execute();
}
Run Code Online (Sandbox Code Playgroud)
非codeigniter(纯PHP)代码:
function curl($ url,$ binary = false,$ …