'/test.txt'; // 把抓取的代码写入该文件

 

将获得的代码直接写入某个文件 
代码如下:
<?php 
$urls = array( 
'http://www.sina.com.cn/', 
'http://www.sohu.com/', 
'http://www.163.com/' 
); // 设置要抓取的页面URL

$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_FILE,$st); // 设置将爬取的代码写入文件 
curl_multi_add_handle ($mh,$conn[$i]); 
} // 初始化

do { 
curl_multi_exec($mh,$active); 
} while ($active); // 执行

foreach ($urls as $i => $url) { 2881064151}
curl_multi_remove_handle($mh,$conn[$i]); 
curl_close($conn[$i]); 
} // 结束清理

curl_multi_close($mh); 
fclose($st); 
?>

代码2:将获得的代码先放入变量,再写入某个文件 
代码如下:
<?php 
$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_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); 
?>

posted @ 2016-12-13 11:51  韩国服务器-Time  阅读(232)  评论(0编辑  收藏  举报