采集工具:火車采集器 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;
//?發布者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]['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發布配置里面
按照圖中的參數配置,點“獲取欄目”,如果可以獲取到就表示成功了一大半了
八、測試入庫發布
九、后臺查看采集內容