日期:2014-05-17  浏览次数:20419 次

关于数组循环的问题
代码有点多不方便贴出来,不过我希望朋友们能给我一个思路,这里先谢谢了
$_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));
}


这里是代码的一部分,通过一个链接组成的数组,来对各个链接进行处理,但是又这样一个情况:数组元素大于一个的话就会出错,我的感觉是循环进行了一次之后,内存中的一些值影响了第二次循环的进行,这样才导致了出错,怎么可以做到让我需要的两个全局数组可以不断添加新元素,其它的所有内存中的值都清空?

------解决方案--------------------
不能这么抓的,很容易陷入抓取死循环。
抓取一般是这样
#1.建立一个文件用于保存url
#2.抓取得到的url附加进文件去
#3.读取文件里的url,一行行抓数据,反复#2,#3

这里面会有一些问题,比如如何避免相同的链接抓取两次,如何限定抓取目标为某个域名。。等等。这些小问题相信你能解决了。