欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程语言 > php >内容正文

php

php 开源 采集,迅睿CMS 火车头内容采集

发布时间:2025/3/8 php 48 豆豆
生活随笔 收集整理的这篇文章主要介绍了 php 开源 采集,迅睿CMS 火车头内容采集 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

采集工具:火车采集器 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发布配置里面

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

八、测试入库发布

九、后台查看采集内容

总结

以上是生活随笔为你收集整理的php 开源 采集,迅睿CMS 火车头内容采集的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。