采集工具:火车采集器 v7.6
采集模块:新闻 News
一、编写采集入库脚本接口
新建:./api/caiji.php
/**
*数据采集
*/
define('IS_API',basename(__FILE__,'.php'));//项目标识
define('SELF',pathinfo(__FILE__,PATHINFO_BASENAME));//该文件的名称
require('../index.php');//引入主文件
新建:./dayrui/My/Api/Caiji.php
$this->_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;
//发布者id1
$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($fieldsas$ismain=>$field){
foreach($fieldas$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]['comments']=0;
$save[1]['avgsort']=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发布规则
三、新建一个在线发布模块
四、填写获取栏目列表的参数
按照上面的格式写就ok了
五、内容发布规则参数
1 发布地址,按照上面的就ok
2 表单参数,这里是你采集的字段
3 成功标志码:成功
六、保存模块
七、然后返回web发布配置里面
按照图中的参数配置,点“获取栏目”,如果可以获取到就表示成功了一大半了
八、测试入库发布
九、后台查看采集内容