MediaCrawler

请输入访问密码

{{ loginError }}

MediaCrawler

Dashboard Control Panel

{{ batchStatus.status === 'running' ? '爬取中' : batchStatus.status === 'completed' ? '已完成' : '空闲' }}
🔐

登录管理

管理小红书 Session,确保爬虫正常运行

{{ sessionStatus.browser_data_exists ? '🟢' : '⚪' }}
浏览器数据
{{ sessionStatus.browser_data_exists ? sessionStatus.browser_data_size_mb + ' MB' : '未创建' }}
{{ sessionStatus.crawler_running ? '🔄' : '⏹️' }}
爬虫状态
{{ sessionStatus.crawler_running ? '运行中' : '未运行' }}
{{ sessionVerify.status === 'valid' ? '✅' : sessionVerify.status === 'expired' ? '❌' : '❓' }}
Session 状态
{{ sessionVerify.status === 'valid' ? '有效' : sessionVerify.status === 'expired' ? '已过期' : '未检测' }}
🔍

Session 验证

启动浏览器访问小红书,验证当前 session 是否有效(约 5-10 秒)。爬虫运行时会自动判定为有效。

{{ sessionVerify.message }}
web_session: {{ sessionVerify.web_session }}
📱

扫码登录

当 session 过期时,点击下方按钮打开扫码登录页面。扫码成功后,浏览器会自动保存 session,后续爬取无需再次登录

将在新窗口打开登录页面
🍪

手动更新 Cookie

备用方案

如果扫码不可用,可以手动粘贴从浏览器复制的 web_session 值。

当前 config cookie: {{ sessionStatus.config_cookie }}
🔑

Session 池

{{ spStats.active }} 可用 / {{ spStats.total }} 总计
# 备注 web_session 状态 成功 失败 操作
{{ i + 1 }} {{ s.label || '-' }} {{ s.web_session.substring(0, 12) }}... {{ s.status === 'active' ? '可用' : s.status === 'cooldown' ? '冷却' : '过期' }} {{ s.success_count }} {{ s.fail_count }}
暂无 session,请添加
💡

自动化机制说明

自动续期:爬虫启动时使用 Playwright 持久化浏览器上下文(browser_data 目录),在爬取过程中浏览器会自动刷新 session,无需人工干预。

智能登录:爬虫启动时会自动检查:①浏览器持久化 session → ②config cookie → ③扫码登录,逐级降级,优先使用最新的有效 session。

日常维护:正常情况下只需首次扫码一次。如果长时间(数天)不运行爬虫导致 session 过期,再扫码一次即可。

🔍

爬取设置

配置爬取平台、模式和目标

📋

爬取模式

全量模式:爬取所有作品,不限日期

日期范围模式:只爬取 {{ config.batch_crawl.date_start || '?' }} ~ {{ config.batch_crawl.date_end || '?' }} 范围内的作品

增量模式:已完成的作者仅爬取上次之后的新内容,已有作品只更新互动量

此处填写的链接用于「开始爬取」按钮的单次爬取,与批量爬取的作者列表互不影响

暂无作者,请在「批量爬取」页面添加
{{ i + 1 }}. {{ c.name }} {{ c.url }}
💬

评论设置

开启后会获取作品评论

🛡️

反爬策略

调整等待时间、伪装行为等防检测参数

⏱️

随机等待

⏸️

批次暂停

📈

动态调整

封禁时超级休眠 ({{ (config['动态调整策略'].super_sleep_min_sec/60).toFixed(0) }}~{{ (config['动态调整策略'].super_sleep_max_sec/60).toFixed(0) }} 分钟)
🎭

假动作

{{ (config['假动作策略'].probability * 100).toFixed(0) }}%
🔄

并发控制

建议 2~3,过高触发反爬

🌐

浏览器指纹

📦

批量爬取

从 Excel 读取作者列表,逐个爬取并导出

增量=仅爬上次之后的新内容

点赞+评论+收藏,0=不过滤

👥

Excel 作者列表

{{ creators.length }} 个
#名称ID链接操作
{{ i + 1 }} {{ c.name }} {{ c.id }} {{ c.url.substring(0, 55) }}...
点击刷新加载作者列表
🚀

执行控制

📊

飞书多维表格

爬取完成后自动写入飞书 Bitable

爬取完成后自动创建并写入多维表格

🔗

刷新飞书视频汇总表中的临时下载链接(有效期约 24 小时)

URL 格式: https://xxx.feishu.cn/base/APP_TOKEN

{{ feishuRefresh.result.message }} ({{ feishuRefresh.result.elapsed_sec }}s)
🤖

使用 Gemini 从视频中提取完整口播脚本,结果写入飞书汇总表

修改提示词可以调整脚本提取的效果,如要求输出结构化分析、摘要等

提取范围
{{ scriptExtract.progress }}

{{ scriptExtract.result.message }}

总记录: {{ scriptExtract.result.total }} | 成功: {{ scriptExtract.result.processed }} | 失败: {{ scriptExtract.result.failed }} | 跳过: {{ scriptExtract.result.skipped }} | 耗时: {{ scriptExtract.result.elapsed_sec }}s

💾

断点续爬

中断后自动从上次位置继续

记录已爬取的内容,下次自动跳过

每爬取 N 条自动保存进度

自动重试上次失败的请求

适合 10 万+ 条数据

📋

运行日志 & 数据文件

查看爬取进度和导出文件

批量爬取日志 {{ batchLogs.length }}
{{ log.time }} {{ log.message }}

暂无日志

启动爬取后日志将在此显示

数据文件
{{ f.type === 'excel' ? '📗' : '📄' }}
{{ f.name }} {{ (f.size / 1024).toFixed(1) }} KB ({{ f.note_count }} 条)
{{ f.modified }}
暂无文件
{{ fileView.name }}
共 {{ fileView.data.total }} 条
加载中...
{{ fd }}
{{ row[fd] }}
{{ fileView.data.offset + 1 }}-{{ Math.min(fileView.data.offset + fileView.data.limit, fileView.data.total) }} / {{ fileView.data.total }}
{{ JSON.stringify(fileView.data.content, null, 2) }}
{{ fileView.data.content }}

已截断(仅显示前 10000 字符)

{{ fileView.error }}
{{ toast.type === 'success' ? '✓' : toast.type === 'error' ? '✗' : 'ℹ' }} {{ toast.message }}