关于网络爬虫效率的问题
时间:2011-11-27
来源:互联网
我自己写的一个网络爬虫,提取一个网站中的链接,但是运行起来特别的慢,而且一段时间后会出现网络问题,我的另外一个对链接的处理的程序就没有问题,二者都是串行的,求帮助,谢谢
下面的代码:PHP code
下面的代码:PHP code
<?PHP //网络爬虫 include_once('Snoopy.class.php'); $spider = new Snoopy(); $spider->begin_url="http://blog.csdn.net/"; _spider($spider->begin_url); print_r($spider->array_article); function _spider($url){ global $spider; $file="url.txt"; $fp=fopen($file,"a+"); $array_file=file($file); $array = get_headers($url,1); if(preg_match('/200/',$array[0])){//判断网页是否能正常访问 $spider->fetch($url); //抓取完整的网页 $spider->spider_text=$spider->results; $spider->fetchlinks($url); //提取网页中的链接 $array_links=$spider->results; $array_url=array(); //定义一个放url的数组,如果有重复的则舍弃,不重复的就添加 if(is_array($array_links)){ foreach($array_links as $value){ $is_match=strstr($value,'blog.csdn.net'); $is_match1=strstr($value,'#'); $is_match2=strstr($value,'@'); if($is_match!=false&&$is_match1==false&&$is_match2==false){ //如果链接是这个博客站的,导入文本中,否则不进行处理 $arr=explode(" ",$value); $_value=$arr[0]; if(in_array($_value,$array_url)==false){ $array_url[]=$_value; } } } } //print_r($array_url); foreach($array_url as $value2){ $array2 = get_headers($value2,1); if(preg_match('/200/',$array2[0])){ $is_match=strstr($value2,'/article/details/'); if($is_match!=false){ if(in_array($value2,$spider->array_article)==false){ static $num=1; echo $num."...:".$value2."<br>"; $num=$num+1; $_value2=$value2."\r\n"; if(in_array($value2,$array_file)==false){ $spider->array_article[]=$value2; fwrite($fp,$_value2); } if(count($spider->array_article)>10000){ break; } } } else{ if(in_array($value2,$spider->array_category)==false){ $spider->array_category[]=$value2; _spider($value2); } } } } } } //echo get_magic_quotes_gpc(); ?>
作者: datui1 发布时间: 2011-11-27
这个我推荐用curl...
作者: PhpNewnew 发布时间: 2011-11-27
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28