性爱视频在线播放-人人射人人射-99热网-极品探花在线|www.kangbangglove.com

迅睿CMS使用火車頭采集內容教程

文章詳情

采集工具:火車采集器(可以百度搜索一下這個工具的下載)

采集模塊:新聞News


第一步、編寫采集入庫腳本接口

新建:/api/caiji.php(應用于URL地址請求,大小寫隨意)

如果根目錄沒有api文件夾,就創建到/public/api/caiji.php(應用于URL地址請求,大小寫隨意)

新建:./dayrui/My/Api/Caiji.php(首字母必須大小,最終php文件命名與上面的名稱保持相同)

_module_init('news'); // news 是模塊目錄

if ($_GET['action'] == 'category') {
    $this->module['category'] = \Phpcmf\Service::L('category', 'module')->get_category($this->module['share'] ? 'share' : $this->module['dirname']);
    if (!$this->module['category']) {
        echo '模塊【'.$this->module['dirname'].'】沒有創建欄目';
    }
    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'));     // 去重復     $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; // 排序權重值,默認填寫0     $save[1]['link_id'] = 0; // 填寫0不管他     $save[1]['inputtime'] = SYS_TIME; // 發布時間設置成為當前時間     $save[1]['updatetime'] = SYS_TIME; // 更新時間也設置成為當前時間,關于時間采集如果是這種格式2022-12-12xx,那么需要使用strtotime函數轉換成時間戳入庫     $save[1]['inputip'] = '127.0.0.1'; // 發布者ip地址          //$save[1]['keywords'] = dr_get_keywords( $save[1]['title']); // 按插件提取關鍵詞          //$save[1]['description'] = dr_get_description( $save[0]['content'], 100); // 在內容里面提取100個子作為描述     // 驗證標題重復     if ($this->content_model->table(SITE_ID.'_'.MOD_DIR)->where('title', $save[1]['title'])->counts()) {         echo '重復';exit;     }     $rt = $this->content_model->save_content(0, $save);     if ($rt['code']) {         /*         // 用于發布成功后生成靜態文件代碼         //dr_html_auth($_SERVER['SERVER_ADDR']);         //dr_catcher_data(SITE_URL.'index.php?s='.MOD_DIR.'&c=html&m=showfile&id='.$rt['id']);         $atcode = 'chtml_'.SITE_ID.'_'.MOD_DIR.'_'.$rt['code'];         \Phpcmf\Service::L('cache')->set_auth_data($atcode, $rt['code'], SITE_ID);         dr_catcher_data(SITE_URL.'index.php?s='.MOD_DIR.'&c=html&m=showfile&id='.$rt['code'].'&atcode='.$atcode); $save[1]['id'] = $save[0]['id'] = $rt['code']; \Phpcmf\Service::L('router')->show_url(\Phpcmf\Service::C()->module, $save[1]);         */         exit('成功');     } else {         exit('失敗');     } } exit;

腳本文件中可以定義發布者等一些預定義字段默認值,如果你不會php的話可以保持默認

注意:本腳本的程序代碼只對內容等字段入庫有效,由于采集目標網站的數據規范性無法做到統一;

如果開發者對其他字段(例如多文件上傳、復選框、聯動字段等等)需要開發者自己根據采集的實際情況來編寫入庫程序來組裝入庫的POST數據,需要PHP開發技術基礎,下面來舉一些基礎例子。


1、多文件上傳字段

$data['字段名稱'] = dr_array2string([
    ['file'=>'文件路徑', 'title'=>'標題'],   
]);


2、復選框字段

$data['字段名稱'] = dr_array2string([
    '值1', '值2'  
]);

測試規則地址:

http://你的網站/api/caiji.php?action=category

如果能顯示出來欄目信息,說明ok了

如果顯示api file is error,表示你./dayrui/My/Api/Caiji.php沒有創建正確。


第二步、火車采集器編寫web發布規則

迅睿CMS使用火車頭采集內容教程


第三步、新建一個在線發布模塊

迅睿CMS使用火車頭采集內容教程


第四步、填寫獲取欄目列表的參數

迅睿CMS使用火車頭采集內容教程

/api/caiji.php?action=category

[分類名稱]<=>[分類ID]

按照上面的格式寫就ok了


第五步、內容發布規則參數

迅睿CMS使用火車頭采集內容教程

發布地址:/api/caiji.php?action=post
表單參數:這里是你采集的字段
c錯誤碼:失敗 回車符 重復
成功標志碼:成功

表單參數:這里可以配置任意自定義字段的入庫,不知道入庫格式怎么辦?

查看數據庫儲存數據格式進行入庫處理,必要時需要在接口文件中重新編程


第六步、保存模塊

迅睿CMS使用火車頭采集內容教程


第七步、然后返回web發布配置里面

迅睿CMS使用火車頭采集內容教程

按照圖中的參數配置,點“獲取欄目”,如果可以獲取到就表示成功了一大半了


第八步、測試入庫發布

迅睿CMS使用火車頭采集內容教程


第九步、后臺查看采集內容

迅睿CMS使用火車頭采集內容教程

收藏:0
來源:網站建設網

版權:所有文章為演示數據,版權歸原作者所有,僅提供演示效果!

轉載請注明出處:http://www.kangbangglove.com/syjq/6134.html

相關推薦
迅睿CMS如何獲取數據POST和GET寫法
迅睿CMS如何獲取數據POST和GET寫法:1、$_GET寫法\Phpcmf\Service::L('input')->get('變量名'); // 會進行xss安全過濾\Phpcmf\Service::L('input')->get('變量名', false); ...
2024-11-11
95
迅睿CMS在后臺列表增加鏈接二維碼的功能
可以用于查驗等場景中,生成一對一二維碼,掃碼進行結果查驗。修改細節本教程基于XunRuiCMS官方免費版,如果您的是官方OEM版本,請根據自己定制路徑修改。本次使用了jquery.qrcode.min.js組件,未改動PHP系統文件。具體頁面路徑為dayrui/Fc...
2024-11-11
149
迅睿cms如何使用自定義字段作為內容url?
使用迅睿cms時,可能會遇到類似需求,比如我自定義了一個編號字段為:bianhao,然后將這個字段作為url鏈接的關鍵字。實例:實際的鏈接地址:/news/編號.html欲實現鏈接地址:/news/ss0001.html1、首先創建字段,這個就不用講,cms的基礎功...
2024-11-11
157
迅睿CMS發送手機驗證碼開發教程
用在二次開發時,處理驗證碼發送程序,適合精通php的程序員模板代碼: 圖片驗證 {dr_code(120, 35)} 短信驗證 獲取手機驗證碼 id傳遞手機號碼程序判斷部分:$code = \Ph...
2024-11-10
127
發表評論