网站建设已经夕阳西下,帝国,织梦都不在更新了,随着技术的发展可用性已经非常低了,讯睿xunruicms是最近体验最好的一款cms建站程序,保持不断更新,创建者有问必答,可谓是良心工具。

很多人不知道如是搭配火车头进行采集,今天就给大家整理一下采集接口及详细的配置方法。

采集工具:火车头采集器(可以百度搜索一下这个工具的下载)

采集模块:新闻 News

一、编写采集入库脚本接口 

新建:./api/caiji.php


新建:./dayrui/My/Api/Caiji.php

_module_init('news'); // news 是模块目录

if ($_GET['action'] == 'category') {
    // 显示栏目

    foreach ($this->module['category'] as $t) {
        if ($t['child'] == 0 && $t['tid'] == 1) {
            echo '

'.$t['name'].'<=>'.$t['id'].'

'.PHP_EOL;         }     } } else {     // 入库数据     $data = $_REQUEST;     // 发布者id 1     $data['uid'] = 1;     // 发布者账号 admin     $data['author'] = 'admin';     // 主表字段     $fields[1] = $this->get_cache('table-'.SITE_ID, $this->content_model->dbprefix(SITE_ID.'_'.MOD_DIR));     $cache = $this->get_cache('table-'.SITE_ID, $this->content_model->dbprefix(SITE_ID.'_'.MOD_DIR.'_category_data'));     $cache && $fields[1] = array_merge($fields[1], $cache);     // 附表字段     $fields[0] = $this->get_cache('table-'.SITE_ID, $this->content_model->dbprefix(SITE_ID.'_'.MOD_DIR.'_data_0'));     $cache = $this->get_cache('table-'.SITE_ID, $this->content_model->dbprefix(SITE_ID.'_'.MOD_DIR.'_category_data_0'));     $cache && $fields[0] = array_merge($fields[0], $cache);     // 去重复     $fields[0] = array_unique($fields[0]);     $fields[1] = array_unique($fields[1]);     $save = [];     // 主表附表归类     foreach ($fields as $ismain => $field) {         foreach ($field as $name) {             isset($data[$name]) && $save[$ismain][$name] = $data[$name];         }     }         if (!$data['catid']) {             exit('栏目为空');         }     $save[1]['uid'] = $save[0]['uid'] = $data['uid'];     $save[1]['catid'] = $save[0]['catid'] = $data['catid'];     $save[1]['url'] = '';     $save[1]['status'] = 9; //9表示正常发布,1表示审核里面     $save[1]['hits'] = 0;     $save[1]['displayorder'] = 0;     $save[1]['link_id'] = 0;     $save[1]['inputtime'] = $save[1]['updatetime'] = SYS_TIME + rand(0, 7200);     $save[1]['inputip'] = '127.0.0.1';     // 验证标题重复     if ($this->content_model->table(SITE_ID.'_'.MOD_DIR)->where('title', $save[1]['title'])->counts()) {         echo '重复';exit;     }     $rt = $this->content_model->save(0, $save);     if ($rt['code']) {         exit('成功');     } else {         exit('失败');     } } exit;

脚本文件中可以定义发布者等一些预定义字段默认值,如果你不会php的话可以保持默认

然后关闭系统的跨站提交验证。

二、火车采集器编写web发布规则

QQ20161021-0@2x.png

三、新建一个在线发布模块

QQ20161021-1@2x.png

四、填写获取栏目列表的参数

image.png

/api/caiji.php?action=category

[分类名称]<=>[分类ID]

按照上面的格式写就ok了

五、内容发布规则参数

image.png

发布地址:/api/caiji.php?action=post
表单参数:这里是你采集的字段
c错误码:失败 回车符 重复
成功标志码:成功

表单参数:这里可以配置任意自定义字段的入库,不知道入库格式怎么办?

查看数据库储存数据格式进行入库处理,必要时需要在接口文件中重新编程

六、保存模块

QQ20161021-5@2x.png

七、然后返回web发布配置里面

QQ20161021-6@2x.png

按照图中的参数配置,点“获取栏目”,如果可以获取到就表示成功了一大半了

八、测试入库发布

QQ20161021-7@2x.png

九、后台查看采集内容

QQ20161021-8@2x.png