代码有点多不方便贴出来,不过我希望朋友们能给我一个思路,这里先谢谢了
$_array_article=array("http://blog.csdn.net/anewczs/article/details/6617391");
//$_array_article[]="http://blog.csdn.net/tianlesoftware/article/details/6723117";foreach($_array_article as $value){
$spider->begin_url=$value;
file_get_contents($spider->begin_url);
_spider($spider->fetch_turl($spider->begin_url));
}
这里是代码的一部分,通过一个链接组成的数组,来对各个链接进行处理,但是又这样一个情况:数组元素大于一个的话就会出错,我的感觉是循环进行了一次之后,内存中的一些值影响了第二次循环的进行,这样才导致了出错,怎么可以做到让我需要的两个全局数组可以不断添加新元素,其它的所有内存中的值都清空?
$_array_article=array("http://blog.csdn.net/anewczs/article/details/6617391");
//$_array_article[]="http://blog.csdn.net/tianlesoftware/article/details/6723117";foreach($_array_article as $value){
$spider->begin_url=$value;
file_get_contents($spider->begin_url);
_spider($spider->fetch_turl($spider->begin_url));
}
这里是代码的一部分,通过一个链接组成的数组,来对各个链接进行处理,但是又这样一个情况:数组元素大于一个的话就会出错,我的感觉是循环进行了一次之后,内存中的一些值影响了第二次循环的进行,这样才导致了出错,怎么可以做到让我需要的两个全局数组可以不断添加新元素,其它的所有内存中的值都清空?
解决方案 »
- 求解一个php正则表达式的组合
- [询问]php中关于session的一点疑问
- php怎么判断登陆,急,帮帮忙。在线等!!!
- mysql 查一分钟以内的值,在线等
- 为什么我写的这程序的$a+$b和$a-$b不能计算,别的能计算啊,求大神解决!!!
- 怎么删除mysql中指定的记录?
- mysql数据库备份与还原的问题..
- 我想在页面里加入Flash动画,但用Flash不会作,有更简单的Flash制作工具,不知大家都用哪个啊?谢谢帮忙推荐一个,最好是中文的?
- 实在搞不定了,session在什么情况下会变空?
- 为什么有时候要将一段完整的php代码分开写呢?
- 小弟最近对php有很大的兴趣了。
- 介绍几个php开源在线客服系统~~~~
_spider(file_get_contents($value));
}
_spider 这个干吗用的
贴出来看看
如果这样的话可能你数组内部指针到尾部了,reset($array)试试
我也curious你的_spider
global $spider;
foreach($url as $value){
$is_match=strstr($value,'/article/details/');
if($is_match!=false){
if(in_array($value,$array_article)==false){
$array_article[count($array_article)]=$value;
//print_r($spider->array_article);
}
}
else{
if(in_array($value,$array_category)==false){ $spider->array_category[count($array_category)]=$value;
//print_r($spider->array_category);
//echo $value;
}
}
}
}
global $spider;
foreach($url as $value){
$is_match=strstr($value,'/article/details/');
if($is_match!=false){
if(in_array($value,$array_article)==false){
$array_article[count($array_article)]=$value;
//print_r($spider->array_article);
}
}
else{
if(in_array($value,$array_category)==false){ $spider->array_category[count($array_category)]=$value;
//print_r($spider->array_category);
//echo $value;
}
}
}
}
抓取一般是这样
#1.建立一个文件用于保存url
#2.抓取得到的url附加进文件去
#3.读取文件里的url,一行行抓数据,反复#2,#3这里面会有一些问题,比如如何避免相同的链接抓取两次,如何限定抓取目标为某个域名。。等等。这些小问题相信你能解决了。