核心用法
本技能通过 python3 scripts/scrapling_fetch.py <url> <max_chars> 执行网页正文提取。底层采用 Scrapling 的 Fetcher.get() 获取 HTML,配合智能选择器优先级(article → main → .post-content → [class*="body"])定位正文区域,再经 html2text 转换为标准 Markdown 格式。若高优先级选择器均未命中,自动回退至 body 标签,确保兜底可用。
显著优点
1. 现代网页适配:Scrapling 基于 Playwright 内核,能正确处理 JavaScript 渲染的动态内容,相比传统 requests 方案成功率显著提升
2. 智能正文识别:四级选择器优先级策略覆盖主流 CMS(WordPress、Medium、GitHub Pages 等),无需为每个站点定制规则
3. 标准化输出:html2text 转换保证 Markdown 格式规范,便于下游总结、RAG 嵌入等场景
4. 双模式输出:默认 Markdown 正文,支持 --json 结构化输出与 stderr 调试日志
潜在缺点与局限性
- 无浏览器交互能力:不支持点击、登录、翻页、Cookie 维持等复杂操作,仅限静态页面抓取
- 选择器盲区:非标准语义化 HTML 结构(如滥用
div嵌套、无article/main标签的站点)可能提取失败或混入导航/广告 - 动态加载延迟:部分懒加载内容需额外等待策略,当前实现未显式配置
- 反爬敏感:高频请求可能触发目标站点的速率限制或 IP 封禁
适合人群
- 需要快速提取博客、新闻、公告正文的分析师与研究员
- 构建内容聚合、RAG 知识库的技术团队
- 将网页转为 Markdown 供 LLM 总结处理的自动化工作流
常规风险
- 内容完整性风险:截断参数
max_chars设置不当可能导致关键信息丢失 - 版权合规风险:批量抓取需遵守目标站点的
robots.txt与使用条款 - 依赖维护风险:Scrapling 与 Playwright 版本迭代可能引入破坏性变更