风信子·文章采集器【修改版】

admin 4天前 34

捕获.PNG
捕获1.PNG
捕获2.PNG
捕获3.PNG
捕获4.PNG

本版本在原有插件基础上新增两个功能(均为增量改动,不影响原有功能):

① 关键字替换;② 随机用户发布。
生效后的界面:设置页顶部有 4 个选项卡(基本配置 / 批量采集 / 列表采集 / 关键字替换);
两个采集表单的「发布用户」下拉框默认选中 随机用户(每帖不同)

功能一:关键字替换

功能概述

在「风信子·文章采集器」插件中单独新增了关键字替换功能:
采集文章发布前,自动将标题和内容中的指定关键字替换为设定的词(或删除),
适用于批量采集列表采集(测试采集也会看到替换后的结果)。

本功能为纯增量改动:未启用或未配置规则时,采集逻辑与原来完全一致,不影响任何现有功能。

部署步骤(重要:旧版不更新就不会出现选项卡)

后台页面上仍只有 3 个选项卡、看不到「关键字替换」,说明服务器上的插件文件还是旧版。请按以下步骤部署:

  1. 解压本压缩包,得到插件目录 fxz_caiji/
  2. 用 FTP / 面板文件管理,将以下 3 个文件上传覆盖到论坛目录 app/plugin/fxz_caiji/ 下(保持目录结构):
  • fxz_caiji/setting.php
  • fxz_caiji/setting.htm
  • fxz_caiji/model/caiji.func.php
  1. 清空 Xiuno 模板缓存(关键步骤,否则可能继续显示旧页面):
  • 打开论坛根目录下的 tmp/ 文件夹,删除其中所有编译缓存文件(tmp/ 是缓存目录,删除后会自动重建,不影响数据);
  1. 浏览器强制刷新Ctrl+F5)后台页面;
  2. 重新进入「插件 → 文章采集器」,顶部应显示 4 个选项卡,最后一栏为「关键字替换」。
若第 4 个选项卡已出现但点击后里面是空的:同样先执行第 3 步清缓存 + 第 4 步强制刷新。

使用方式

  1. 进入后台「插件 → 文章采集器」,顶部会出现第 4 个选项卡 「关键字替换」
  2. 勾选 「启用关键字替换」
  3. 「替换规则」 文本框中按行填写规则,点击 「保存关键字替换配置」
  4. 之后进行的批量采集 / 列表采集,发布的标题和内容会自动执行替换。

规则格式

每行一条规则,支持三种分隔符:

写法含义示例
原词=>新词把“原词”替换为“新词”今日头条=>本站
原词→新词同上(支持全角箭头)今日头条→本站
`原词\新词`同上(支持竖线分隔)`今日头条\本站`
原词只写原词(不带分隔符)免责声明

说明:

  • 只写原词 = 删除该词(替换为空);
  • 匹配不区分大小写
  • 空行自动忽略;
  • 多条规则按填写顺序依次执行(后一条可能基于前一条的结果)。

改动文件清单(均为增量)

文件改动是否影响原逻辑
setting.php新增 op=save_keywords 保存分支否(纯新增分支)
setting.htm新增「关键字替换」选项卡(导航 + 配置面板 + 保存 JS)否(纯新增)
model/caiji.func.php新增函数 caiji_keyword_replace();在 caiji_fetch_article() 返回前挂接替换(未启用时跳过)否(未启用时行为与原版一致)

未修改的文件:conf.jsoninstall.phpunstall.phpview/history.htmhook/* 及旧备份 setting.php_2NmC2.tar.gz


功能二:随机用户发布

功能概述

采集发布时不再固定使用某一个用户,而是每个帖子随机从论坛所有用户中选取一个发布用户
且按打乱后的顺序依次取用,保证相邻/各帖子之间发布用户不同
(帖子数量不超过用户总数时,每个帖子的发布用户互不相同;超过用户数时会循环使用)。

适用于批量采集列表采集

使用方式

  • 批量采集 / 列表采集表单的「发布用户」下拉框:默认选中 「随机用户(每帖不同)」,直接采集即可;
  • 也可以手动选择某个具体用户(保持原有固定用户发布方式);
  • 「基本配置 → 默认发布用户」里同样增加了「随机用户(每帖不同)」选项,可一并设置。

实现说明

  • 随机模式由发布用户值 0 触发(表单默认提交 0);
  • 每次采集开始时,从论坛 user 表取出最多 500 个用户并 shuffle 打乱,
  • 在循环中依次取用(uid==0 时逐帖 publish_uid = 用户池[序号 % 总数]);

  • 采集历史记录中保存的是实际发布用户的 UID;
  • 论坛没有任何用户时,会提示「未找到可用用户」并中止。

改动文件清单(相对上一版)

文件改动
setting.php两个采集流程(批量/列表)默认 uid=0;新增随机用户池构建与逐帖分配;发布与历史记录改用实际用户 $publish_uid
setting.htm两个采集表单「发布用户」默认选中「随机用户(每帖不同)」;「基本配置」增加随机用户选项
model/caiji.func.php新增函数 caiji_random_user_pool()(取用户列表并打乱)

验证情况

  • PHP 结构检查(括号/引号配平)通过:setting.phpcaiji.func.phpsetting.htm 内全部 PHP 片段;
  • 随机分配逻辑已人工核对(打乱池 → 序号取模 → 相邻帖子不同);
  • 本机未安装 PHP CLI,未做真实运行环境测试,建议部署后采集 1 批(3 篇以上)查看历史记录确认发布用户各不相同。

验证情况

  • PHP 结构检查(括号/引号配平)通过:setting.phpcaiji.func.phpsetting.htm 内全部 PHP 片段;
  • 替换函数 10 组行为用例全部通过(含三种分隔符、删除词、大小写不敏感、空规则、顺序替换);
  • 本机未安装 PHP CLI,未做真实运行环境测试,建议在论坛后台实际采集 1 篇验证。
  • **{/color}

修罗人 - 支付
本帖含有隐藏内容,请您向作者支付 98点卷 后再查看

本帖中包含附件 如需下载请先购买主题
看过的人 (1)
  • admin
最新回复 (0)
返回