<?php
// 设置要抓取的页面URL
$urls = array('http://www.sina.com.cn/','http://www.sohu.com/','http://www.163.com/');
$save_to='/test.txt'; // 把抓取的代码写入该文件
$st = fopen($save_to,"a");
// 初始化
$mh = curl_multi_init();
foreach ($urls as $i => $url) {
$conn[$i] = curl_init($url);
curl_setopt($conn[$i], CURLOPT_USERAGENT, "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0)");
curl_setopt($conn[$i], CURLOPT_HEADER ,0);
curl_setopt($conn[$i], CURLOPT_CONNECTTIMEOUT,60);
// 设置不将爬取代码写到浏览器,而是转化为字符串
curl_setopt($conn[$i],CURLOPT_RETURNTRANSFER,true);
// 设置将爬取的代码写入文件
// curl_setopt($conn[$i], CURLOPT_FILE,$st);
curl_multi_add_handle ($mh,$conn[$i]);
}
// 执行
do {
curl_multi_exec($mh,$active);
} while ($active);
// 获得数据变量,并写入文件
foreach ($urls as $i => $url) {
// 获得爬取的代码字符串
$data = curl_multi_getcontent($conn[$i]);
// 将字符串写入文件。当然,也可以不写入文件,比如存入数据库
fwrite($st,$data);
}
// 结束清理
foreach ($urls as $i => $url) {
curl_multi_remove_handle($mh,$conn[$i]);
curl_close($conn[$i]);
}
curl_multi_close($mh);
fclose($st);
?>