← ClaudeAtlas

fetch-dedao-courceslisted

抓取得到APP(dedao.cn)付费专栏/课程的全部文章到本地HTML存档:复用本机Chrome登录态(复制Cookies启动调试实例),API翻页拿全量文章列表,逐页导航收割正文(标题/发布时间/摘要/划重点/图片),图片本地化并按原位置插入,自动过滤课程推广广告图(宽幅横幅+字节重复组OCR/二维码鉴定),生成可搜索的index.html总目录。支持用户自定义: ①课程名+URL列表 ②保存总目录命名规则 ③每讲文件夹命名规则(模板变量 {course}/{module}/{date}/{number}/{title})。Use whenever 用户要求抓取/备份/存档得到课程、精英日课类专栏、或提到 dedao.cn 课程内容下载。
desmondc9/agent-skills · ★ 0 · AI & Automation · score 70
Install: claude install-skill desmondc9/agent-skills
# 抓取得到APP课程到本地存档 把 dedao.cn 付费课程(需用户已购)完整抓成本地 HTML 站点:每讲一个文件夹(HTML + images/),外加可搜索的 index.html。已在万维钢 7 门课(2115 讲)和卓克 7 门课(2019 讲)上全量验证,零遗漏。 ## 何时用本 skill - 用户给出得到课程页 URL(`https://www.dedao.cn/course/detail?id=...`),要求抓取全部文章 - 用户要求备份/存档得到专栏内容到本地 - 前提:**用户本机 Chrome 已登录得到**(登录态通过复制 Chrome 配置复用,不需要密码) ## 总体流程(六步) ``` 0. 准备: 检查依赖 → 启动调试 Chrome(复用登录态) → 验证登录 1. 配置: 按【配置规范】写 config.json(课程列表 + 两条命名规则) 2. 列表: uv run scripts/crawl_lists.py → 文章清单(与官网计数核对!) 3. 收割: uv run scripts/harvest_contents.py → 逐篇正文(可断点续跑) 4. 建站: uv run scripts/build_site.py → HTML+图片(命名模板生效) (可选) uv run scripts/build_index.py → index.html 5. 广告: uv run scripts/triage_repeat_images.py → 重复图鉴定报告 人工复核 → 定稿 blacklist.json → uv run scripts/remove_ads.py 6. 收尾: bash scripts/teardown_chrome.sh(删Cookie副本!) → 汇报核对数字 ``` ## 第 0 步:环境与登录态(关键坑最多,严格照做) **依赖**: `google-chrome`、`uv`、`tesseract`(OCR 用,可选)、curl。脚本用 PEP 723 内联依赖(`uv run` 自动装 websocket-client/requests/pillow/pyzbar)。 **启动调试 Chrome —— 必须在单独的 Bash 调用中执行**(和其它命令混在一起时后台进程会被回收): ```bash bash scripts/setup_chrome.sh 9223 /tmp/dedao-fetch-work ``` 它做的事:复制 `~/.config/google-chrome/Default/Cookies` + `Local State` 到 `/tmp/dedao-fetch-work/chrome-profile/`,再以 headless + `--remote-debugging-port=9223 --remote-allow-origins='*'` 启动。Chrome 自己经 XDG Secret Portal 解密 Cookie(KWallet 里查不到密钥,别走弯路)。 **验证登录**(页内应出现 `token` cookie;未登录则让用户先在自己 Chrome 里登录得到): ```bash uv run scripts/check_login.py --work /tmp/dedao-fetch-work ``` ## 第 1 步:配置规范(con