内容采集内容管理
详情介绍
一、插件简介
| 项目 | 说明 |
|---|---|
| 插件标识 | collect |
| 版本 | 1.0.0 |
| 分类标签 | 内容 |
| 前台入口 | 无会员可见页面。仅定时入口 GET /collect/cron?key=密钥(须在插件配置填写 Web 定时密钥;社区开启伪静态时为 /collect/cron.html?key=密钥) |
| 后台入口 | 应用中心 → 插件列表 → 内容采集;菜单「内容采集」规则 /admin/collect/rules、记录 /admin/collect/items |
独立内容采集插件,依赖社区:按规则抓取外站列表与正文,去重入库后自动或手动发帖到指定版块、指定会员账号。不是网址导航采集。数据表为 collect_rule、collect_item。
二、核心能力
| 能力 | 说明 |
|---|---|
| 规则采集 | 列表地址 + CSS 选择器抓标题/正文;分页用 {page}。路径型如 65-{page}.html 第 1 页自动变成 65.html;?page={page} 第 1 页仍带数字 |
| 一键获取规则 | 填写列表地址后自动推断选择器、编码,并给出样例标题/链接,核对后保存 |
| 无分类列表站 | 支持 JSON 列表(如 ?page={page}&format=json 的 list[].id)和卡片 data-id。填写详情模板 post.php?id={id} 即可拼详情地址 |
| 去重与续采 | 按原文 URL 哈希去重。再次执行会跳过已入库文章并继续翻页,直到凑满「单次最多条数」或到达结束页 |
| 图片本地化 | 下载正文图片(含图集懒加载 data-src),按站点「上传设置 → 储存位置」上传,替换为可访问地址;源站 /uploads/ 相对路径不会误当成本站文件 |
| 网盘转资源 | 识别百度 / 夸克 / 迅雷 / 阿里 / 天翼 / 蓝奏(含自定义三级域名如 xxx.lanzouv.com)等分享链接,挂到「网盘资源」插件,并从正文去掉明文 |
| 发帖方式 | 采集后自动发帖,或仅入库后在记录里手动发帖。可在正文末尾追加来源链接 |
| 定时任务 | Web:/collect/cron?key=;命令行:php plugins/collect/bin/run.php,单条 --rule=ID |
三、依赖与安装
- 将插件目录置于
plugins/collect/。 - 先安装并启用「BBS社区」,再在应用中心安装「内容采集」。未装社区时无法安装。
- 安装后写入表
collect_rule、collect_item,并注册后台菜单与权限。 - 硬依赖:社区插件(版块、会员发帖、主题正文)。
- 软依赖:网盘资源(分享链接转资源区块);储存/上传设置(图片落到本地或云储存)。未装网盘时仍可采集,链接会留在正文。
- 卸载会删除采集规则与记录表,已发到社区的帖子不会自动删除。
四、应用中心基础配置
在应用中心 → 内容采集 → 配置:
| 配置项 | 类型 | 默认值 | 说明 |
|---|---|---|---|
| 启用内容采集 | 开关 | 开 | 关闭后定时任务与后台执行均不采集;已入库记录仍可手动发帖 |
| Web 定时密钥 | 文本 | 空 | 填写后可用 /collect/cron?key=密钥;留空则禁用该入口(命令行仍可用) |
| 请求 User-Agent | 多行 | Chrome UA | 抓取列表/正文时的浏览器标识 |
| 请求超时(秒) | 数字 | 20 | 单次 HTTP 超时 |
| 正文图片本地化 | 开关 | 开 | 开启则下载并上传到站点储存位置;关闭则仅把相对路径转为绝对外链 |
| 单篇最多存图 | 数字 | 30 | 每篇最多下载上传的图片数,超出保留绝对外链 |
| 网盘链接转资源 | 开关 | 开 | 识别分享链接并挂网盘资源插件,正文去掉明文(需已安装网盘资源) |
| 网盘解锁方式 | 下拉 | 免费 | 采集挂载资源的默认权限:免费 / 登录可见 / 回复可见 / 金币购买 |
| 网盘金币价格 | 数字 | 1 | 仅当解锁方式为「金币购买」时生效 |
五、后台重点配置
菜单「内容采集」维护规则。每条规则独立指定源站、版块、发帖用户:
| 字段 | 说明 |
|---|---|
| 列表地址 | 分页占位 {page}。未写占位时执行采集也会根据分页链接尝试识别(如 65.html → 65-{page}.html) |
| 详情地址模板 | 无文章 href 时必填,占位符 {id} 替换为 JSON list[].id 或卡片 data-id |
| 列表链接选择器 | 匹配 a[href];卡片站可填 article.card。纯 JSON 列表可留空,改用详情模板 |
| 标题 / 正文选择器 | 详情页 CSS,如 h1.post-title、.article-content、.gallery |
| 起始页 / 结束页 / 步长 | 控制翻页范围 |
| 发帖版块 / 用户 ID | 发到社区的版块与前台会员账号,必填 |
| 发帖方式 | 采集后自动发帖,或仅入库 |
| 单次最多条数 | 每次执行最多处理的新文章数(1~200) |
保存前可点「一键获取规则」。无分类、首页是 JS 卡片的站点,填首页即可识别 JSON 分页与 {id} 详情模板。
六、前台用户流程
会员前台无采集界面。读者看到的是社区帖子(正文、本地化图片、网盘资源区块)。运营侧流程:
- 应用中心启用插件并保存配置(图片、网盘、定时密钥按需)。
- 新增规则:填列表地址 → 一键获取 → 核对选择器 / 详情模板 → 选版块与发帖用户 → 保存并启用。
- 在规则列表点「执行」,或配置定时(Web / 命令行)。
- 到「采集记录」查看入库、发帖、跳过、失败;失败可改选择器后对失败记录再处理;仅入库的可手动发帖。
七、后台审核与运维
采集记录状态:待发、已发、失败、忽略。已发帖会写入对应社区主题 ID。网盘条目写入网盘插件的资源表,前台按网盘区块展示。
相关入口
| 方法 | 路径 | 说明 |
|---|---|---|
| GET | /collect/cron?key= | 执行全部启用规则(须配置密钥) |
| CLI | php plugins/collect/bin/run.php | 宝塔计划任务示例;--rule=1 只跑一条 |
| 后台 | /admin/collect/rules | 规则列表 / 执行 |
| 后台 | /admin/collect/items | 采集记录 / 预览 / 发帖 |
八、特殊说明
- 合法合规:请只采集有权转载或已获授权的站点,并遵守源站协议与版权;本插件不提供绕过登录墙、验证码或反爬的攻击能力。
- 403 / Cookie:部分站点有 Cookie 挑战,插件会带 Cookie 重试;仍失败时请更换 UA、降低频率或改用对方提供的 JSON 接口。
- 编码:支持自动 / UTF-8 / GBK / GB2312。
- 图集站:正文选择器若指向图库容器,会把
data-src/data-full转成图片再本地化。 - 来源相对路径:源站
/uploads/allimg/等不会被当成已在本站,避免发帖后裂图。 - 与导航插件区别:本插件采集文章并发社区帖,不采集网址导航条目。
九、推荐上线清单
- 社区已安装,版块与发帖用会员账号已存在
- 开启「启用内容采集」;需要定时则填写 Web 密钥或配置命令行任务
- 需要本地图则打开图片本地化,并确认上传储存位置可写 / 云储存已配好
- 需要网盘区块则安装「网盘资源」,打开「网盘链接转资源」并选好解锁方式
- 先用结束页=1、单次条数较小试跑,核对标题、图片、网盘后再加大分页
- 抽检:再次执行应跳过已入库并继续后面页;失败记录能从日志看出选择器问题
十、常见问题
Q:安装提示请先安装社区? 必须先装并启用 BBS 社区,本插件只负责采集并发帖。
Q:一键获取失败或 403? 源站拦截了请求。可换 UA、稍后再试;有的站首页无链接,填首页会改识别 JSON 接口。
Q:未能解析标题或正文? 选择器与详情页结构不符。用一键获取后打开样例链接核对,图集站正文可选 .gallery 一类容器。
Q:第一次有入库,再点执行「链接 10、入库 0、跳过 10」? 已按 URL 去重。把结束页调大或列表地址带上 {page},会往后翻未采过的页。
Q:分页一直停在第一页? 列表地址要写 {page}。像 /html/65.html 这种,执行时会尝试识别成 65-{page}.html。
Q:没有分类列表的卡片站怎么采? 填首页点一键获取。使用 JSON ?page={page}&format=json + 详情模板 .../post.php?id={id}。
Q:图片不显示、地址还是源站 /uploads/? 打开图片本地化并确认储存位置。本地化后应为站点 /storage/collect/ 或云储存域名,而不是源站相对路径。
Q:正文里还有网盘明文链接? 需安装网盘资源并打开「网盘链接转资源」。蓝奏自定义域名(如 xxx.lanzouv.com)已支持;采集后刷新帖子应看到网盘区块。
Q:发帖用户 / 版块填错? 必须是前台会员 ID 与已启用的社区版块;后台管理员 ID 不能当发帖用户。
Q:关掉插件后已发的帖还在吗? 在。关闭只停止新采集。卸载会删规则和记录表,社区帖仍保留。
更新记录 (2)
-
v1.0.1
2026-10-09
1、修复列表页抓取失败:HTTP 520 问题 2、新增http代理配置
-
v1.0.0
2026-10-09
1. 按规则采集列表/正文并去重发帖到社区 2. 支持 {page} 分页、一键获取规则、JSON/卡片站 {id} 详情模板 3. 正文图片按站点储存位置本地化 4. 网盘分享链接转网盘资源插件(含蓝奏自定义域名) 5. 支持 Web 密钥与命令行定时执行
QQ官方交流群