船说 CMS 支持定时采集任务吗

juming
juming 正式会员超兽战士
发布于 2026-10-07 15:22 ·1 浏览 ·0 回复

学完这篇,你能搞清楚船说 CMS 到底能不能定时采集,并且知道怎么在宝塔面板或 Linux 计划任务里把它跑起来。

先给结论:船说 CMS 后台默认没有内置的可视化定时器(也就是不会自己到点就跑去采集),但它的采集模块可以通过外部计划任务调用采集接口,从而实现「定时采集」的效果。换句话说,功能能实现,但驱动它的活儿得交给服务器的计划任务。

下面按步骤走一遍。

第一步:确认版本和采集入口位置

这一步要拿到两个信息:你的后台版本号,以及采集菜单在哪儿。

登录后台(默认地址一般是 你的域名/admin.php),看左上角或「系统设置 → 系统信息」里的版本号,记下来。然后在左侧菜单里找采集相关入口,不同版本叫法不一样,常见的有「采集管理」「采集中心」「视频采集」,下面通常挂着「采集节点」「采集规则」「采集网址」几个子项。

注意:船说 CMS 改版比较频繁,菜单名在不同版本里会变。找不到就用浏览器 Ctrl+F 在菜单区域搜「采集」两个字,比一个个点开快。

第二步:先把采集规则建好并手动跑通

这一步的目标是:在没有定时的情况下,手动点一次采集能正常入库。定时只是「自动点按钮」,规则本身不通,定时也白搭。

进入「采集管理 → 采集节点 → 添加」,填写:名称、目标站页面编码(一般为 UTF-8 或 GBK)、列表页 URL 规则、内容页 URL 规则,以及标题、播放地址/正文内容等字段的匹配规则。保存后,回到采集规则列表,点「测试」或「采集测试」,确认能抓到数据。

第三步:找到可以定时调用的采集地址

这一步要拿到「点一次采集」对应的真实 URL。

在采集规则列表里,右键「开始采集」按钮 → 复制链接地址,或者点一次按钮然后按 F12 打开开发者工具,切到 Network(网络)面板,看第一条请求的 URL。它通常长这样:

https://你的域名/admin.php?m=collect&a=run&id=1&key=xxxxxx

把这条 URL 完整记下来,id=1 就是你要定时跑的采集规则编号。

注意:不同版本的参数名(m、a、id)可能不同,别照抄示例,一定要用你自己 F12 里抓到的那条。

第四步:用宝塔面板添加计划任务

如果你的服务器装了宝塔面板,这一步最省事。

面板左侧点「计划任务」→「添加任务」。任务类型选 访问URL,任务名称填「船说定时采集」,执行周期按需求选(比如「每30分钟」或「每1小时」),URL 粘贴第三步抓到的那条地址,保存。

如果用的是命令行,等价写法是 crontab:

*/30 * * * * curl -s "https://你的域名/admin.php?m=collect&a=run&id=1&key=xxxxxx" > /dev/null 2>&1

用 crontab -e 编辑,保存后 crontab -l 确认已写入。

第五步:解决「后台需要登录」这个坑

注意:这是 90% 的人第一次会失败的地方。直接 curl 采集地址,很可能被跳回登录页,结果是计划任务每次都执行成功、但一条数据都没采到。

两个处理办法:

一是检查你的版本是否支持「采集密钥」或「免登录采集」。如果规则里能看到 key= 这类参数,说明后台已经做了鉴权,直接用即可。

二是不支持的话,手动带上登录 Cookie。浏览器登录后台后,F12 → Application(应用)→ Cookies,复制 PHPSESSID 的值,然后这样调:

curl -s -H "Cookie: PHPSESSID=你复制的值" "https://你的域名/admin.php?m=collect&a=run&id=1"

代价是 Cookie 会随会话过期,失效后要重新复制。

第六步:验证定时任务真的在跑

跑完第一轮后,回后台看采集规则里的「采集日志」,或者直接看内容列表里新入库的条目发布时间。也可以在宝塔计划任务的「日志」里看每次执行有没有返回内容。

如果日志显示执行了但没数据,八成是第五步的登录问题;如果日志本身是空的,检查 crontab 是否保存成功、服务器的计划任务服务(crond)是否在运行。

小结

  • 船说 CMS 后台没有自带定时器,定时采集需要靠宝塔计划任务或 crontab 从外部驱动。
  • 关键动作是三步:建好采集规则 → 手动跑通 → 抓出采集接口 URL 交给计划任务。
  • 最容易翻车的是后台登录鉴权,务必确认带上了 key 参数或 Cookie,否则任务会「成功失败」。
  • 采集接口参数名各版本不同,一律以自己 F12 抓到的为准,不要照抄网上示例。
  • 上线前先手动测一次,再交给定时任务,能省掉大量排查时间。
版权声明:本文来自 GJ站长论坛《船说 CMS 支持定时采集任务吗》
原文链接:https://www.gj0.com/thread-366.html
转载请注明出处并保留本声明;内容仅代表作者观点,与本站立场无关。若本文涉嫌侵权,请联系本站处理。

全部回复 0

还没有回复,来抢沙发~