# 视频列表获取执行避坑(功能二) > 与 `浏览器搜索抖音账号操作规范.md` 配合使用;本文记录功能二(获取视频列表)执行中踩过的坑与纠正。 --- ## 一、数据提取方法优先级(2026-08-31 纠正) ### 坑 1:逐条打开视频页抓字段 = 爬虫特征 + 低效(严重) **现象**:俊希全流程测试 TC-04 时,发现列表页逐卡片 `awemeInfo` 拿不到 `createTime`(undefined 被 JSON.stringify 省略),于是改成**逐条 `goto_url("https://www.douyin.com/video/{id}")` 打开视频页**抓「发布时间」文本。结果:15 次连续跳转明显是爬虫特征,且耗时极长、方法退化。 **根因**:08-26 旧梦留声机已验证的 **`defaultDataList` 方法(一次拿全含 createTime)没有固化到技能文件**,本次执行时凭记忆退化。 **正确方法(实测通过)**: | 数据 | 来源 | 说明 | |------|------|------| | createTime / stats / desc | **列表组件 Fiber `defaultDataList`**(首选) | 从 `#root` 的 `__reactContainer$`/`__reactFiber$` 键沿 child/sibling 链遍历,找 `memoizedProps.defaultDataList`;136 条全含 createTime | | duration(毫秒) | 卡片 Fiber `awemeInfo`(兜底) | `awemeInfo.video.duration`;defaultDataList 里可能为 null,两者按 awemeId 合并 | | 其余统计字段 | 两来源均可 | **驼峰式**:`diggCount/commentCount/shareCount/collectCount/playCount`,非 snake_case | **执行要点**: 1. 主页滚动加载(`.route-sc` 容器,随机节奏,≥60 条或加载不出即停) 2. 一次 Fiber 提取全量 → 合并 → 生成 13 列 Excel(发布时间列 = `createTime` 转 `YYYY-MM-DD`) 3. 再走 `excel_tool.py select-top6` 筛选(依赖「发布时间」列) ### 坑 2:访问账号主页直接构造地址(严重) **现象**:直接 `goto_url("https://www.douyin.com/user/{sec_uid}")` 跳转主页,页面加载异常(标题缺昵称、无视频链接、无 `.route-sc` 容器);且真实链接带完整参数后缀(如 `...brjmRxiM9i`),构造缺后缀地址访问异常。 **正确方法**: 1. 先 `goto_url("https://www.douyin.com/search/{账号ID}?type=user")` 走搜索页 2. 搜索结果中**定位目标用户卡片**(用 innerText 匹配 抖音号/粉丝数 特征,如 `JJX0827`+`281.9万`) 3. **模拟点击进入主页**:CDP `Input.dispatchMouseEvent`(mouseMoved → mousePressed → mouseReleased)或 `click_at_xy`;点击后可能新开标签页(target=_blank),从 `Target.getTargets` 找新主页标签页继续操作 4. 禁止直接构造 `/user/{sec_uid}` 地址跳转 --- ## 二、数据校验速查表 | 检查项 | 标准 | 异常处理 | |--------|------|---------| | 发布时间列填充率 | 100%(defaultDataList 全含 createTime) | 若大量为空 → 检查是否用了逐卡片 awemeInfo 而非 defaultDataList | | 时长填充率 | 100%(卡片 awemeInfo.duration 毫秒) | 合并逻辑遗漏 → 按 awemeId 补合并 | | 视频条数 | ≥60 条(SKILL.md 唯一权威参数) | 滚动加载未触发 → 检查 `.route-sc` 容器定位 | | 统计字段 | 驼峰式(diggCount 等) | 若全 0 → 检查字段名是否误用 snake_case | --- ## 三、浏览器行为准则速记 - ✅ 标签页复用:已有抖音标签页直接 goto_url 导航,不 new_tab - ✅ 访问主页走搜索 → 模拟点击;不构造直达地址 - ✅ 数据提取一次 Fiber 拿全;不逐条开视频页 - ✅ 适度访问:随机停留/滚动节奏,不连续快速跳转 - ❌ 禁止:new_tab 堆积、直达 `/user/{sec_uid}`、逐条 `/video/{id}`、无间隔连跳