伤心♂oO○ 发表于 2007 年 6 月 26 日 12:36:42

写了个垃圾采集,与各位分享下

是一个漫画站的采集,很垃圾,也没优化速度,只是给大家做为参考,哈哈~~
漫画站地址:http://www.dmzzz.com
只要在程序里修改下要采集的漫画地址就可以了!
平台要求:PHP5

<?php
$url = "http://www.dmzzz.com/ComicInfo/BaDao/Dmzzz_Url.htm";
$r = file_get_contents($url);

preg_match_all("/href='\/ComicInfo\/BaDao\/([\d]+)\.htm'>(.+)<\/a><\/div>/isU", $r, $c);
$count = count($c);
for($i=0;$i<=$count;$i++) {
        $url1 = "http://www.dmzzz.com/ComicInfo/BaDao/" . $c[$i] . ".htm";
        $r1 = file_get_contents($url1);
        preg_match_all("/Dmzzz_img_path\[([\d]+)\] = '\/comicdate2\/comicabcd\/a-d\/bd\/([\d]+)\/(.+)';/isU", $r1, $c1);
        $count1 = count($c1);
        $path = "./霸刀/" . $c[$i] . "/";
        if(!file_exists($path)) {
                if(mkdir($path)) {
                        ob_flush();
                        flush();
                        sleep(1);
                        echo $path . " <font color=\"blue\">建立成功</font><br>";
                } else {
                        ob_flush();
                        flush();
                        sleep(1);
                        echo $path . " <font color=\"red\">建立失败</font><br>";
                }
        }
        for($j=0;$j<=$count1;$j++) {
                $url2 = "http://60.191.239.185/comicdate2/comicabcd/a-d/bd/" . $c1[$j] . "/" . $c1[$j];
                $r2 = file_get_contents($url2);
                $file = $path . $c1[$j];
                if(file_exists($file)) break;
                if(file_put_contents($file, $r2)) {
                        ob_flush();
                        flush();
                        sleep(1);
                        echo $file . " <font color=\"green\">采集成功</font><br>";
                } else {
                        ob_flush();
                        flush();
                        sleep(1);
                        echo $file . " <font color=\"red\">采集失败</font><br>";
                }
        }
}
?>

我记得金光是有干扰码的,所以,附上一份附件啦

伤心♂oO○ 发表于 2007 年 6 月 26 日 12:41:33

采集过程图片:



不足之出:没有提交表单,不方便自己修改,没有做太多判断,所以会出现把目录做为图片采集的情况而出现错误



还有就是没有做目录判断,所以如果已经有了目录,那么就会出现错误

ycrake 发表于 2007 年 6 月 26 日 12:42:58

呵呵~~~
我都人肉更新的

ycrake 发表于 2007 年 6 月 26 日 12:44:17

LZ还是挺强的!:)

伤心♂oO○ 发表于 2007 年 6 月 26 日 12:45:01

呵呵,其实我也不是为了更新我的站,我现在采集东西很多都是采集到我的本本里,在本地看啦
以前也是人肉弄,但是现在学了PHP了,再人肉可真能说是白学了

伤心♂oO○ 发表于 2007 年 6 月 26 日 12:46:13

原帖由 ycrake 于 2007-6-26 12:44 发表 http://www.jgwy.net/bbs/images/common/back.gif
LZ还是挺强的!:)

嘿嘿,谢谢~~

伤心♂oO○ 发表于 2007 年 6 月 26 日 12:47:13

又发现一个问题,就是PHP的超时问题。。。郁闷,因为为了能够时时观察采集情况,所以用了逐行输出
但是却会引起超时问题。。。。郁闷

waitme 发表于 2007 年 6 月 26 日 12:51:44

:( :( :(继续 努力啊

伤心♂oO○ 发表于 2007 年 6 月 26 日 12:53:27

。。。。偶一直在努力,8过现在考试了,木时间呀

print 发表于 2007 年 6 月 26 日 12:59:58

本地的话
set_time_limit(0);
页: [1] 2 3
查看完整版本: 写了个垃圾采集,与各位分享下