下载帝国网站管理系统5.0正式版
 帝国论坛技术交流区网络编程初级的用php写的采集程序
帝国CMS5.0正式版发布
中客:空间产品随时可无条件退款!
测试:生成20万数据共用107分钟
《帝国下载系统》全面免费
Mysql大数据备份工具下载
帝国软件旗下新站 - 站长工具
1G双线帝国空间+200M数据库=158
帝国CMS教程下载
主题:初级的用php写的采集程序 [加入收藏夹]   

xboy7879
用户头衔:书生

精华贴   :0
发贴数   :5
经验值   :23
注册时间:2007-01-10
信息 搜索 好友 发送悄悄话 《帝国网站管理系统》基础教程下载】   [第 1 楼]
初级的用php写的采集程序
可以先用这个采集然后在用帝国处理
<?php
####################################################################################
#作者:9elong
#网站:个人小站不值一提
#时间:2007-01-01
#声明:仅用于学习php之用。
#功能:采集单页面图片。
#说明:3个示范表单已经写好正则用来示范。没有任何功能说明,一切都在源代码里。附加论坛图片采集正则示范
####################################################################################
//把图片从信息页抓取下来的函数
function getimg($url,$n,$key,$imgqian,$imgbiao,$titlekey)
{
        //$key图片地址正则
        //$titlekey图片标题正则
        //$imgqian图片地址前缀
        //$imgbiao图片地址特殊标识
        global $n;
        global $msg;
        global $result;
        global $imgadd;
        global $title;
        $msg=file_get_contents($url);
        $key=str_replace("{图片地址}","(.+)",$key);
        $key="|".$key."|isU";
        preg_match_all($key,$msg,$result);
        $c=count($result[0]);
        for($i=0;$i<$c;$i++)
        {
                $img=$result[0][$i]."<br>";
                if(ereg("^.*".$imgbiao.".*$",$img))
                {
                        $img=str_replace($imgbiao,$imgqian.$imgbiao,$img);
                        preg_match("|http://(.+)jpg|isU",$img,$img);
                        $imgadd[$n]=$img[0];
                        //echo "<img src=".($img[0])."><br>";
                        $n++;
                }
                elseif(ereg("^.*jpg.*$",$img))
                {
                        preg_match("|http://(.+)jpg|isU",$img,$img);
                        $imgadd[$n]=$img[0];
                        if($img[0]!="")
                        $n++;
                }
                unset($img);
        }               
                $titlekey=str_replace("{图片标题}","(.+)",$titlekey);
                $titlekey="|".$titlekey."|isU";
                preg_match($titlekey,$msg,$title);
                //echo $title[0];
                return $title;
        return $msg;
        return $result;
        return $n;
        return $imgadd;
}
####################################################################################
#不支持file_get_contents()函数可以使用下面的替换
#$i=0;
#$handle=@fopen($url,"rb");
#while (!@feof($handle))
#{
#        $buffer[$i]= @fgets($handle, 4096);
#        $i++;
#}
#fclose($handle);
#$msg=join("",$buffer);
####################################################################################
if($_GET['act']=="getimgadd"&&$_POST['url']!="")
{
        $url=$_POST['url'];
    getimg($url,"0",$_POST['key'],$_POST['imgqian'],$_POST['imgbiao'],$_POST['titlekey']);
####################################################################################
    //获取分页
        if($_POST['getpage']=="是")
    {
                $_POST['page']=str_replace("{分页地址}","(.+)",$_POST['page']);
        $page="|".$_POST['page']."|isU";
        //echo $page;
    preg_match_all($page,$msg,$presult);
        if($_POST['pc']==""||$_POST['pc']=="全部")
            $pc=count($presult[0]);
        else
                $pc=$_POST['pc'];
        if($_POST['pc']>count($presult[0]))
                $pc=count($presult[0]);
        for($i=1;$i<$pc;$i++)
        {
                $pageurl=$presult[0][$i];
                //echo $pageurl."<br>";
                if(ereg("^.*[1-9].*$",$pageurl))
                {
                        $pageurl=str_replace("<a href=\"","<a href=\"".$_POST['imgqian'],$pageurl);
                        $pagekey=str_replace("{关键地址}","(.+)",$_POST['pagekey']);
                        $pagekey="|".$pagekey."|isU";
                        preg_match($pagekey,$pageurl,$N3[$i]);
                        //echo ($N3[$i][0])."<br>";
                        getimg($N3[$i][0],$n,$_POST['key'],$_POST['imgqian'],$_POST['imgbiao'],$_POST['titlekey']);
                }
        }
    }
####################################################################################
    echo "图片集〖".$title[1]."〗".$n."张图片被抓取<br><a href='?act='>返回首页</a><br>";

        while(list($num,$var)=each($imgadd))
        {
                if($_POST['showtype']=="图片")
                {
                        echo "<img src='".$var."'><br>";
                }
                else
                echo $var."<br>";
        }
####################################################################################
        //exit();
}
?>
实例1(信息页有分页,使用了简单的分页正则):
<FORM METHOD=POST ACTION="?act=getimgadd">
输入图片地址<INPUT TYPE="text" NAME="url" size=80 value='http://www.pp132.com/n835c17.shtml'><br>
图片地址正则<INPUT TYPE="text" NAME="key" size=80 value='<img{图片地址}>'><br>
图片地址前缀<INPUT TYPE="text" NAME="imgqian" size=80 value='http://www.pp132.com/'><br>
图片地址标识<INPUT TYPE="text" NAME="imgbiao" size=80 value='upload'><br>
图片标题正则<INPUT TYPE="text" NAME="titlekey" size=80 value='<H1 class=aTitle>{图片标题}</H1></DIV>'><br>
分页地址正则<INPUT TYPE="text" NAME="page" size=80 value='<a href="{分页地址}shtml">.[0-9]'><br>
分页地址模式<INPUT TYPE="text" NAME="pagekey" size=80 value='http://{关键地址}shtml'><br>
<SELECT NAME="getpage">
<option value="是"  selected="selected">获取分页信息</option>
<option value="否">不要分页信息</option>
</SELECT><br>
<SELECT NAME="pc">
<option value="1"  selected="selected">获取1页</option>
<option value="2">获取2页</option>
<option value="3">获取3页</option>
<option value="4">获取4页</option>
<option value="5">获取5页</option>
<option value="全部">获取全部</option>
</SELECT><br>
<SELECT NAME="showtype">
<option value="图片"  selected="selected">直接显示图片</option>
<option value="文字">直接显示地址</option>
</SELECT><br>
<INPUT TYPE="submit">
</FORM><br>
实例2(信息页没有分页,所以分页正则为空):
<FORM METHOD=POST ACTION="?act=getimgadd">
输入图片地址<INPUT TYPE="text" NAME="url" size=80 value='http://zy.muwen.com/pic/89/2007/01/01/131721.htm'><br>
图片地址正则<INPUT TYPE="text" NAME="key" size=80 value='<IMG src="/UpLoad{图片地址}jpg"'><br>
图片地址前缀<INPUT TYPE="text" NAME="imgqian" size=80 value='http://zy.muwen.com/'><br>
图片地址标识<INPUT TYPE="text" NAME="imgbiao" size=80 value='UpLoad'><br>
图片标题正则<INPUT TYPE="text" NAME="titlekey" size=80 value='<span id="_ctl0_TitleLabel" class="Title">{图片标题}</span></TD>'><br>
分页地址正则<INPUT TYPE="text" NAME="page" size=80 value=''><br>
分页地址模式<INPUT TYPE="text" NAME="pagekey" size=80 value=''><br>
<SELECT NAME="getpage">
<option value="是">获取分页信息</option>
<option value="否"  selected="selected">不要分页信息</option>
</SELECT><br>
<SELECT NAME="pc">
<option value="1"  selected="selected">获取1页</option>
<option value="2">获取2页</option>
<option value="3">获取3页</option>
<option value="4">获取4页</option>
<option value="5">获取5页</option>
<option value="全部">获取全部</option>
</SELECT><br>
<SELECT NAME="showtype">
<option value="图片"  selected="selected">直接显示图片</option>
<option value="文字">直接显示地址</option>
</SELECT><br>
<INPUT TYPE="submit">
</FORM><br>
实例3(信息页没有分页,所以分页正则为空,图片为绝对地址,所以图片地址前缀为空):
<FORM METHOD=POST ACTION="?act=getimgadd">
输入图片地址<INPUT TYPE="text" NAME="url" size=80 value='http://www.6642.com/Disp/9936.htm'><br>
图片地址正则<INPUT TYPE="text" NAME="key" size=80 value='<P><IMG{图片地址}"></P>'><br>
图片地址前缀<INPUT TYPE="text" NAME="imgqian" size=80 value=''><br>
图片地址标识<INPUT TYPE="text" NAME="imgbiao" size=80 value='UpLoad'><br>
图片标题正则<INPUT TYPE="text" NAME="titlekey" size=80 value='<div align="right"><b>{图片标题}</b></div></td>'><br>
分页地址正则<INPUT TYPE="text" NAME="page" size=80 value=''><br>
分页地址模式<INPUT TYPE="text" NAME="pagekey" size=80 value=''><br>
<SELECT NAME="getpage">
<option value="是">获取分页信息</option>
<option value="否"  selected="selected">不要分页信息</option>
</SELECT><br>
<SELECT NAME="pc">
<option value="1"  selected="selected">获取1页</option>
<option value="2">获取2页</option>
<option value="3">获取3页</option>
<option value="4">获取4页</option>
<option value="5">获取5页</option>
<option value="全部">获取全部</option>
</SELECT><br>
<SELECT NAME="showtype">
<option value="图片"  selected="selected">直接显示图片</option>
<option value="文字">直接显示地址</option>
</SELECT><br>
<INPUT TYPE="submit">
</FORM><br>


华声论坛图片为附件http://bbs.hnol.net/dispbbs2.asp?boardID=50&ID=336436

图片地址正则:upload=jpg{图片地址}upload

图片地址标识:bbs

图片标题正则:帖子主题</B>:{图片标题}</th>


华声论坛图片为外链http://bbs.hnol.net/dispbbs2.asp?boardID=50&ID=336253

图片地址正则:img]{图片地址}/img

图片地址标识:jpg

图片标题正则:帖子主题</B>:{图片标题}</th>




2007-01-10 16:23:12 已设置保密 顶部 回复 引用 报告 编辑 删除

xboy7879
用户头衔:书生

精华贴   :0
发贴数   :5
经验值   :23
注册时间:2007-01-10
信息 搜索 好友 发送悄悄话 《帝国网站管理系统》零基础实例入门教程】   [第 2 楼]
回复:初级的用php写的采集程序
文件直接放到支持php的空间就可以,仅可自用。。。未过滤任何恶意代码

上传以下附件:
[下载 *.rar](文件大小:2.00 KB,下载次数:40)




2007-01-10 16:27:07 已设置保密 顶部 回复 引用 报告 编辑 删除

viewsnake
用户头衔:举人

精华贴   :0
发贴数   :484
经验值   :1526
注册时间:2006-05-08
信息 搜索 好友 发送悄悄话 《帝国网站管理系统》基础教程下载】   [第 3 楼]

好复杂,我现在水平还有限



我是viewsnake!
2007-02-08 14:49:07 已设置保密 顶部 回复 引用 报告 编辑 删除

changhe
用户头衔:举人

精华贴   :0
发贴数   :329
经验值   :955
注册时间:2006-10-15
信息 搜索 好友 发送悄悄话 《帝国网站管理系统》零基础实例入门教程】   [第 4 楼]

好复杂,我现在水平还有限




风格仿制,价格低廉,服务优质。联系QQ:57336601
http://www.lossr.com
http://www.zbhome.cn
2007-02-08 23:40:03 已设置保密 顶部 回复 引用 报告 编辑 删除


快速回复
内容

使用EBB代码
使用smile代码
显示签名
自动分析url
自动分析img
表情                   
                
    (按 Ctrl+Enter 直接提交)
    顶部  加入收藏夹
关于帝国 | 广告服务 | 联系我们 | 法律声明 | 隐私条款 | 许可协议
Powered by: EBB Version 2.2.1