冬至雨 发表于 2014-5-24 16:33:15

7.6企业版的PHP插件BUG问题

我做了一个PHP的采集插件,插件源码如下:<?php
error_reporting(E_ERROR | E_WARNING | E_PARSE);
/*
*外部编程接口处理标签内容示范文件                                                                                                                                                                                                                       
*该文件内自动系统的三个参数$LabelArray $LabelCookie,$LabelUrl
*对任意采集的标签都适用请对标签内容处理后直接将该数组serialize($LabelArray)输出,
*采集器内部即可接收到该标签的内容,对比以前的接口规则,新规则可以实现标签之间的数据调用和处理                                                                                                               
*参数说明:                                                                                                                                                                                                                                                                                       
*$LabelArray    -标签名及标签内容集合 结构如:Array('栏目id' => 2,'出处'=>'新浪微博','内容'=>'<center><b>暴笑短信')##
*$LabelCookie   -对应采集中用到的Cookie值                                                       
*$LabelUrl      -当前采集的页面的Url地址
* 特别注意:如果是处理列表页,默认页,多页时会有以下两个标签
    $LabelArray['Html']       网页的源代码,没有经过采集器处理的,直接下载后的数据.修改这里的数据,请将新值赋予$LabelArray['Html']
    $LabelArray['PageType']   值可能为 List, Pages, Content 分别代表处理列表页,多页,默认页                                                                                                                                                               
*以上语句建议不更改,以下为用户操作区域该区域只限对数组值进行操作,不得有打印输出产生,不得直接增加或删除相应标签名
*/


if($LabelArray['PageType']=='Content')
{
       

        preg_match_all("/javascript:ContentPageHref\(\'\',\d{5},\d{5}-\d{5},/",$LabelArray['Html'], $arr);
        $str=count($arr);
        $filename=rtrim($LabelUrl,'.html');
        $pagestr='<locoypage>';
//        if($str==0){
//                $pagestr.="<a href='$LabelUrl'>$str</a>";
//        }else
//        {
        for ($i=1;$i<=$str;$i++)
       {
                if($i==1)
                {
                        $pagestr.="<a href='$LabelUrl'>$i</a>";
                        }else{
                $page=$filename.'_'.$i.'.html';
                $pagestr.="<a href='$page'>$i</a>";
                }
                }
//        }
        $pagestr.='</locoypage>';
    $LabelArray['Html'].=$pagestr;
        }
//#############以上为用户操作区域#############################################################################################################################
//#############以下语句必须保留,建议不更改###################################################################################################################
//ob_clean();
echo serialize($LabelArray);
?>

采集的页面是:http://www.china-heating.com/news/2014/21730.html

在PHP插件的测试页里测试 把地址填上去,怎么弄都只能采集内容页的一个分页,把该页面的源码复制进去,就能采集出来所有的分页地址采集出来,问题出现,真正开始采集时,又采集不到分页的地址,也采集不到分页的内容!真的不知道怎么回事,请各位大侠帮忙!

zhoukay 发表于 2014-5-28 21:16:30

楼主你的火车头版本升级一下就可以解决这个问题了。

冬至雨 发表于 2014-6-23 22:23:22

不用升级,我也解决了,

290576138 发表于 2014-6-24 10:20:19

楼主还有勇气发这样的帖子,报上你的IP,让客服封了你的软件IP

采集超市 发表于 2014-9-30 11:23:37

这个火车头版本是正版的么,建议采用官方版本火车头调试插件














专注于火车头规则、插件、模块、接口定制!为企业和个人提供全方位的采集发布方案!
联系QQ:137178124
官方网站:www.locoymall.com
http://bbs.locoy.com/data/attachment/forum/201310/21/002539x2g25ntt59yx85xt.gif
页: [1]
查看完整版本: 7.6企业版的PHP插件BUG问题