Doramagic 项目包 · 项目说明书
Scrapling 项目
🕷️ 一款自适应的网页爬虫框架,无论是单次请求还是大规模全站抓取都能轻松胜任!
Scrapling 框架概述与系统架构
Scrapling 是一个自适应的 Web 抓取框架,主打"一次请求到全规模爬取"的全场景覆盖能力。根据 README.md 的官方描述,框架由三大核心支柱构成:
继续阅读本节完整说明和来源证据。
1. 项目定位与设计目标
Scrapling 是一个自适应的 Web 抓取框架,主打"一次请求到全规模爬取"的全场景覆盖能力。根据 README.md 的官方描述,框架由三大核心支柱构成:
- 自适应解析器(Adaptive Parser):解析阶段会学习目标站点的结构变化,当页面改版后自动重新定位元素,避免硬编码选择器失效。
- 反爬取抓取器(Fetchers):内置 Cloudflare Turnstile 等反机器人机制的绕过能力,开箱即用。
- Spider 爬虫框架:支持并发、多会话、断点续爬、代理轮换以及流式输出。
项目口号"One library, zero compromises"体现了它在单一库内同时提供解析、HTTP 抓取、浏览器自动化与爬虫编排的定位。框架的最低运行要求为 Python 3.10,安装基础包只包含解析引擎;要使用抓取器或爬虫,需要额外安装 [fetchers] 可选依赖并执行 scrapling install 下载浏览器 资料来源:README.md。
2. 整体系统架构
框架在逻辑上被划分为五大子系统,它们通过统一的 Response 对象串联,构成分层的抓取流水线:
flowchart TB
A[Parser<br/>scrapling.core] -->|Adaptor| B[Fetchers<br/>scrapling.fetchers]
B --> C[Fetcher / FetcherSession<br/>HTTP]
B --> D[DynamicFetcher<br/>浏览器自动化]
B --> E[StealthyFetcher<br/>反检测]
C --> F[Spider 框架<br/>scrapling.spiders]
D --> F
E --> F
F --> G[CLI / MCP / Agent Skill]
F --> H[日志与工具<br/>scrapling.core.utils]
H -.上下文注入.-> F各子系统的职责如下:
- Parser(解析引擎):负责 HTML 解析、CSS/XPath 选择、文本处理与自适应元素查找。性能对比显示其文本提取速度与 Parsel/Scrapy 相当(2.02 ms vs 2.04 ms),但元素相似度匹配比 AutoScraper 快 5.2 倍 资料来源:README.md。
- Fetchers(抓取层):提供三类抓取器——
Fetcher/FetcherSession(HTTP,支持 TLS 指纹模拟)、DynamicFetcher(浏览器自动化)、StealthyFetcher/StealthySession(隐身模式,可绕过 Cloudflare)。 - Spiders(爬虫编排):基于
start_urls和异步parse回调实现并发抓取,支持多会话路由、暂停/恢复、流式统计和被拦截请求自动重试 资料来源:README.md。 - CLI / MCP / Agent Skill(交互与扩展层):CLI 提供
scrapling extract、scrapling install等命令;MCP 服务器使 AI Agent 能够调用抓取能力;Agent Skill 兼容 OpenClaw 与 Claude Code 资料来源:agent-skill/README.md。 - 工具与日志(Utils):使用
ContextVar维护上下文感知的日志对象,调用方可通过set_logger注入自定义 logger 资料来源:scrapling/core/utils/_utils.py。
3. 典型升级路径与社区关注点
官方示例仓库为用户提供了清晰的"由轻到重"升级路径:
get / FetcherSession
└─ 若需 JS 渲染 → fetch / DynamicSession
└─ 若遭遇反爬 → stealthy-fetch / StealthySession
└─ 若多页面抓取 → Spider
该流程鼓励开发者从最轻量的 HTTP 抓取开始,仅在必要时升级到浏览器自动化或爬虫框架 资料来源:agent-skill/Scrapling-Skill/examples/README.md。
社区反馈揭示了几个值得关注的边界情况:
- OpenClaw 集成:issue #142 请求将 Scrapling 作为 OpenClaw 技能使用,最新版本已通过 agent-skill/README.md 提供 Clawhub 一键安装方式。
- 嵌入式 Turnstile 卡死:issue #100 报告
StealthyFetcher在嵌入版 Turnstile 上会无限等待;这暗示隐身抓取器对 iframe/嵌入场景的检测逻辑尚有改进空间。 - 浏览器请求监听:issue #159 期望框架支持过滤浏览器网络请求并获取特定响应,这是当前
DynamicFetcher/StealthyFetcher暂未覆盖的能力。 - 分页自动检测:issue #82 提出自动识别分页 URL 的需求,目前需由用户自行在
parse回调中编写response.follow逻辑 资料来源:README.md。
4. 故障模式与最佳实践
- 依赖安装遗漏:仅执行
pip install scrapling时导入scrapling.fetchers或scrapling.spiders会抛出ModuleNotFoundError;必须额外安装pip install "scrapling[fetchers]"并运行scrapling install下载浏览器内核 资料来源:README.md。 - 浏览器指纹更新:v0.4.9 发布说明要求升级后必须执行
scrapling install --force刷新浏览器与指纹文件,否则可能与新版本不兼容。 - 日志上下文隔离:在并发爬虫场景下,通过
ContextVar维护的 logger 可避免不同请求间的日志串扰,开发者可利用set_logger注入请求级上下文 资料来源:scrapling/core/utils/_utils.py。 - CLI 文件输出格式:
scrapling extract的输出文件名后缀决定内容格式(.md转为 Markdown、.html保留原始 HTML),使用--css-selector可只导出匹配区域 资料来源:README.md。
See Also
- Scrapling 选择器与解析 API
- Scrapling Fetchers 抓取器详解
- Scrapling Spider 爬虫框架
- Scrapling CLI 与 MCP 集成
来源:https://github.com/D4Vinci/Scrapling / 项目说明书
抓取器、隐身模式与会话管理
Scrapling 是一个自适应 Web 抓取框架,其核心由三层组件构成:抓取器(Fetchers)、隐身引擎(Stealthy) 与 会话管理(Session)。这三者协同工作,覆盖了从单次 HTTP 请求到长时间多页爬取的全部场景。本页依据仓库源码梳理它们的分工、调用方式与常见陷阱,并结合社区反馈(Issue 100、142、159)说明其当前能力边界。
继续阅读本节完整说明和来源证据。
继续阅读本节完整说明和来源证据。
继续阅读本节完整说明和来源证据。
继续阅读本节完整说明和来源证据。
概述
Scrapling 是一个自适应 Web 抓取框架,其核心由三层组件构成:抓取器(Fetchers)、隐身引擎(Stealthy) 与 会话管理(Session)。这三者协同工作,覆盖了从单次 HTTP 请求到长时间多页爬取的全部场景。本页依据仓库源码梳理它们的分工、调用方式与常见陷阱,并结合社区反馈(Issue #100、#142、#159)说明其当前能力边界。
资料来源:README.md
抓取器家族与升级路径
Scrapling 在 scrapling/fetchers/ 子包下暴露了多组抓取器,按照"速度由快到慢、反爬能力由弱到强"排列,并通过同步/异步两套接口对外提供服务。
| 抓取器 | 后端 | 主要用途 | 典型参数 |
|---|---|---|---|
Fetcher / AsyncFetcher | HTTP 客户端 | 单次 API 或静态页面请求 | impersonate、stealthy_headers |
FetcherSession / AsyncFetcherSession | HTTP 会话(上下文) | 多页快速抓取,复用连接 | http3、impersonate |
DynamicFetcher / DynamicSession | 浏览器自动化 | SPA、JS 渲染页面 | headless、network_idle |
StealthyFetcher / StealthySession | 隐身浏览器 | Cloudflare Turnstile、指纹伪装 | solve_cloudflare、google_search |
基础用法与高级隐身在 README 中均有示例:
from scrapling.fetchers import Fetcher, FetcherSession, StealthyFetcher, StealthySession
with FetcherSession(impersonate='chrome') as session:
page = session.get('https://quotes.toscrape.com/', stealthy_headers=True)
with StealthySession(headless=True, solve_cloudflare=True) as session:
page = session.fetch('https://nopecha.com/demo/cloudflare', google_search=False)
仓库提供的"升级指南"(位于 agent-skill/Scrapling-Skill/examples/README.md)建议开发者按需逐级升级:先以 Fetcher/FetcherSession 试水,必要时切换到 DynamicSession,遇到反爬再切换到 StealthySession,最终才使用 Spider 接管多页面爬取。
资料来源:README.md、agent-skill/Scrapling-Skill/examples/README.md
隐身模式与会话管理
隐身引擎
StealthyFetcher 与 StealthySession 在 scrapling/fetchers/stealth_chrome.py 中实现,其底层修改自 Playwright/Chromium,行为由 scrapling/engines/_browsers/_stealth.py 控制。框架默认开启 headless=True,并提供 solve_cloudflare=True 以便自动通过 Cloudflare Turnstile 验证;同时支持 adaptive=True 与 auto_save=True 让选择器在网站改版后仍可定位元素。
会话管理
会话对象既是上下文管理器,也是异步上下文管理器,因此同一份代码既可作为同步阻塞调用,也可放入 asyncio 循环中:
import asyncio
from scrapling.fetchers import FetcherSession, AsyncStealthySession
async with FetcherSession(http3=True) as session:
page1 = session.get('https://quotes.toscrape.com/')
page2 = session.get('https://quotes.toscrape.com/', impersonate='firefox135')
在 Spider 中,可通过 configure_sessions(self, manager) 把不同会话按 ID 注册,并由 Request 对象按需路由,从而让一个爬虫同时混合使用 HTTP 与隐身浏览器。
日志与会话隔离
日志系统通过 ContextVar 实现并发隔离:scrapling/core/utils/_utils.py 中的 _current_logger 与 LoggerProxy 让每次会话都能携带各自的日志记录器,配合 set_logger() 重置。Spider 框架正是借助这一机制实现"同一进程、多会话并行"的可观测性。
资料来源:scrapling/fetchers/__init__.py、scrapling/engines/_browsers/_stealth.py、scrapling/core/utils/_utils.py
已知问题与社区反馈
- Issue #100:在"嵌入式" Turnstile 场景下,
StealthyFetcher会无限等待。建议启用前先用solve_cloudflare=False手动观察页面结构,或在StealthySession中显式传入超时参数。 - Issue #159:社区希望框架暴露"监听浏览器请求并获取响应"的接口,目前隐身会话仍以整页响应为单位返回,复杂过滤需通过中间件自行实现。
- Issue #142:与 Agent Skill(OpenClaw)相关,
agent-skill/README.md中提供了clawhub install scrapling-official的安装入口,便于在 Agent 工具中复用本抓取能力。 - v0.4.9 更新:发布说明指出"所有浏览器与指纹已更新,升级后请运行
scrapling install --force",否则隐身会话可能因旧指纹被目标站点拒绝。
资料来源:agent-skill/README.md、README.md
See Also
- 解析与自适应选择器(Parsing & Adaptive Selectors)
- Spider 爬虫框架(Spider Architecture)
- CLI 与 MCP 服务器(CLI & MCP Server)
- 代理轮换(Proxy Rotation)
资料来源:README.md
解析器、自适应元素追踪与相似度匹配
scrapling.parser 模块是整个框架的"语义中枢",既承担 Selector 类的 HTML 解析职责,又在解析器层面提供自适应元素追踪与相似度匹配能力。开发者无需启动任何 fetcher,也能直接对 HTML 字符串使用全部 API:
继续阅读本节完整说明和来源证据。
概述
scrapling.parser 模块是整个框架的"语义中枢",既承担 Selector 类的 HTML 解析职责,又在解析器层面提供自适应元素追踪与相似度匹配能力。开发者无需启动任何 fetcher,也能直接对 HTML 字符串使用全部 API:
from scrapling.parser import Selector
page = Selector("<html>...</html>")
资料来源:README.md
该模块在设计上刻意贴近 Scrapy/Parsel 与 BeautifulSoup 的语法,降低迁移成本;同时扩展出 adaptive、auto_save、find_similar、find_by_text 等原生 Scrapling 特性。模块底层的统一日志通过 scrapling.core.utils._utils 中的 log 代理输出,便于在爬虫与 Spider 中追踪解析过程。
Selector 与选择 API
Selector 是所有 fetchers 与 Spider 返回 Response 的基础类型,提供与 Scrapy/Parsel 一致的 CSS/XPath 接口:
page.css('.quote .text::text').getall()
page.xpath('//div[@class="quote"]/span[@class="text"]/text()').getall()
同时支持 BeautifulSoup 风格的 find_all、find_by_text,并提供链式调用:
quote_text = page.css('.quote')[0].css('.text::text').get()
first_quote = page.css('.quote')[0]
author = first_quote.next_sibling.css('.author::text')
模块还提供 below_elements() 等结构导航方法,便于在嵌套结构中顺藤摸瓜。所有字符串操作底层使用 _utils.py 中的 __CLEANING_TABLE__ 与 __CONSECUTIVE_SPACES_REGEX__ 进行空白归一化。
资料来源:README.md、scrapling/core/utils/_utils.py
自适应元素追踪
自适应追踪是 Scrapling 的标志性能力。开发者首次抓取时使用 auto_save=True 把当前选择器的"指纹"持久化下来;之后即使目标站改版,只要再以 adaptive=True 执行同一查询,解析器会依据指纹在 DOM 中重新定位元素:
products = p.css('.product', auto_save=True) # 首次抓取并保存指纹
products = p.css('.product', adaptive=True) # 之后即使改版也能找回
该机制配合 StealthyFetcher.adaptive = True 可在浏览器层面持续复用同一逻辑。其工作流可用下图描述:
flowchart LR
A[发起 css/xpath 查询] --> B{auto_save=True?}
B -- 是 --> C[提取并持久化元素指纹]
B -- 否 --> D[直接返回当前 DOM 匹配]
C --> E[目标站结构变化]
E --> F[再次执行 adaptive=True]
F --> G[按指纹在 DOM 中重新定位]
G --> H[返回更新后的元素]指纹的存读依赖 scrapling.core.storage,使得同一份爬虫代码可在多次运行之间复用定位策略。这一能力正好回应社区中 #82「自动检测分页 URL」一类需求——开发者可以将"下一页"链接先用 auto_save 记录,再让 Spider 在后续运行中通过 adaptive 自动重新定位。
资料来源:README.md
相似度匹配与文本搜索
除自适应追踪外,Selector 还内置基于结构特征的相似度匹配,用于在改版或部分缺失场景下兜底:
similar_elements = first_quote.find_similar()
quotes = page.find_by_text('quote', tag='div')
find_similar 借助 _utils.py 中的归一化文本工具计算元素之间的相似度,在 README 给出的基准中较 AutoScraper 快约 5.2 倍:
| 库 | 耗时 (ms) | 对比 Scrapling |
|---|---|---|
| Scrapling | 2.39 | 1.0x |
| AutoScraper | 12.45 | 5.209x |
find_by_text 与 parent / next_sibling / below_elements 等关系 API 共同构成了"语义无关"的兜底选择策略。当页面 DOM 被部分重写、选择器失效时,组合使用相似度匹配与文本搜索可显著降低维护成本。
资料来源:README.md、scrapling/core/utils/_utils.py
常见使用模式
- 直接解析本地 HTML:无需任何 fetcher,直接
Selector(html_str)。 - Fetcher 集成:所有 fetcher(
Fetcher/StealthyFetcher/DynamicFetcher)返回的对象均继承Selector,可直接使用上述 API。 - Spider 内使用:Spider 的
parse(response)中response.css(...)与上述示例一致,可结合auto_save/adaptive在多页爬取中复用指纹。 - Agent 集成:通过 agent-skill/README.md 安装的 Scrapling Skill 已封装该模块用法,可被 OpenClaw / Claude Code 等 Agent 直接调用(回应社区 #142)。
资料来源:agent-skill/README.md、agent-skill/Scrapling-Skill/examples/README.md
See Also
资料来源:README.md
爬虫框架、CLI、MCP 与代理/Agent 扩展
Scrapling 是一个自适应 Web 抓取框架,除了底层解析器与多类型抓取器(HTTP / Dynamic / Stealthy)之外,还提供了完整的多页面爬虫框架、命令行工具(CLI)、MCP(Model Context Protocol)服务器以及面向 AI Agent 的扩展能力。本页围绕这四个外延子系统展开,重点说明它们在整体架构中的位置、典型用法以及与社区常见...
继续阅读本节完整说明和来源证据。
继续阅读本节完整说明和来源证据。
继续阅读本节完整说明和来源证据。
继续阅读本节完整说明和来源证据。
Scrapling 是一个自适应 Web 抓取框架,除了底层解析器与多类型抓取器(HTTP / Dynamic / Stealthy)之外,还提供了完整的多页面爬虫框架、命令行工具(CLI)、MCP(Model Context Protocol)服务器以及面向 AI Agent 的扩展能力。本页围绕这四个外延子系统展开,重点说明它们在整体架构中的位置、典型用法以及与社区常见诉求的对应关系。
1. 爬虫框架(Spider 框架)
Scrapling 的 Spider 框架定位为"类 Scrapy"的并发爬虫 API,但其优势在于可以统一调度多种会话类型。开发者通过继承 Spider 子类并实现异步 parse(response) 回调即可构建完整抓取流程。资料来源:README.md:1-50
1.1 核心组件
Spider:定义start_urls、并发度、下载延迟等参数,并提供start()启动入口;Request/Response:在爬虫内部流转的对象,后者包装 Scrapling 自有的Selector解析能力;SessionManager:通过configure_sessions(manager)将FetcherSession、AsyncStealthySession等不同抓取器注册到命名会话(例如fast/stealth),随后在Request中按 ID 路由请求;- 多会话协同:在同一 Spider 内混合使用纯 HTTP 会话与隐身浏览器会话,根据目标站点反爬强度动态切换。资料来源:README.md:50-120
1.2 高级特性
- 并发与节流:可配置
concurrent_requests、按域节流、下载延迟; - 暂停与恢复:基于检查点(checkpoint)的爬取持久化,Ctrl+C 优雅退出后重启可恢复断点;
- 流式输出:
async for item in spider.stream()实时产出抓取结果,配合 UI / Pipeline 友好; - 自动反爬检测与重试、robots.txt 合规(
robots_txt_obey)等开箱即用的工程化能力。资料来源:README.md:120-180
社区反馈指出,许多站点(如招聘、电商列表)需要跨多页采集,期望 Spider 能自动识别分页 URL(参见 Issue #82),目前这一功能仍需开发者自行通过 response.follow() 显式 yield 后续请求。
2. CLI 命令行工具
Scrapling 提供 scrapling 命令,覆盖浏览器安装、一键抓取与提取。CLI 是框架的入口之一,特别适合临时性抓取与脚本集成。
2.1 常用子命令
| 子命令 | 用途 | 典型场景 |
|---|---|---|
scrapling install [--force] | 安装/更新浏览器与指纹库 | 升级 Scrapling 后刷新二进制 |
scrapling extract get <url> <file> | 通过 Fetcher 抓取并保存为 .md / .txt | 快速抓取静态页面 |
scrapling extract fetch <url> <file> | 通过 DynamicFetcher 抓取 | 需要 JS 渲染的页面 |
scrapling extract stealthy-fetch <url> <file> | 通过 StealthyFetcher 抓取 | Cloudflare/Turnstile 站点 |
可通过 --css-selector、--impersonate、--solve-cloudflare、--no-headless 等参数调整行为。CLI 在最新版本中新增了 --version 标志(参见 v0.4.9 发布说明)。资料来源:README.md:200-260
2.2 与 Shell / MCP 的衔接
CLI 同时充当交互式 Web Scraping Shell 的前端,并可被 MCP 服务器调用,使自然语言指令能够映射到具体子命令,降低对 LLM 的指令构造压力。
3. MCP 服务器集成
Scrapling 内置 MCP 服务器,允许 LLM、Agent 或 IDE(如 Claude Code)通过标准协议直接调用抓取、解析与提取能力,而无需自行实现 HTTP 调用细节。资料来源:README.md:30-60
MCP 暴露的工具语义与 CLI 子命令基本一致,因此既可作为面向 Agent 的高层 API,也可作为脚本化的服务调用端点。其典型应用:
- 让 Agent 在一次会话中先
extract get拉取主页 HTML,再调用css()/xpath()解析,最后通过 Spider 推进; - 在受限环境下作为工具网关,结合
scrapling parser的离线解析能力,对已抓取片段进行二次抽取; - 与 Agent Skill(见下节)配合使用,Agent 在调用前即可获取完整的工具语义描述。
4. 代理与 Agent 扩展
Scrapling 在 Spider 中提供按域的代理轮换能力,并可通过 --proxy 参数在 CLI / Fetchers 层面临时启用。针对 AI Agent 场景,项目以独立 agent-skill 包的形式提供与 AgentSkill 规范兼容的技能包。
4.1 代理与反检测
- 多会话代理:在
FetcherSession、StealthySession中可注入代理,Spider 的SessionManager自动按会话维度管理; - 反指纹:StealthyFetcher 默认开启指纹伪装,并支持
solve_cloudflare=True处理 Turnstile;社区报告(Issue #100)指出在嵌入式 Turnstile 场景下StealthyFetcher仍可能无限等待,建议结合超时参数使用。资料来源:README.md:60-110
4.2 Agent Skill
agent-skill/ 目录下的技能包遵循 AgentSkill 规范,可被 OpenClaw、Claude Code 等 Agent 工具识别。资料来源:agent-skill/README.md:1-20
- 安装方式:通过 Clawhub 一键安装(
clawhub install scrapling-official),或直接下载 ZIP 引入; - 内容范围:封装了文档站点的几乎全部 Markdown 内容,使 Agent 在回答 Scrapling 相关问题时不必猜测 API;
- 测试覆盖:项目已在 OpenClaw 与 Claude Code 上进行兼容性验证,遇到问题可在 GitHub Issues 反馈(社区 Issue #142 正是关于 OpenClaw 支持的诉求)。资料来源:agent-skill/README.md:20-40
4.3 示例集合
agent-skill/Scrapling-Skill/examples/ 提供四份按抓取强度递进的示例脚本,配合下表的"升级路径"使用,可帮助 Agent 自主选择最合适的抓取策略:
get / FetcherSession
└─ 若需 JS → fetch / DynamicSession
└─ 若被反爬 → stealthy-fetch / StealthySession
└─ 若多页 → Spider
资料来源:agent-skill/Scrapling-Skill/examples/README.md:1-50
5. 内部工具与日志
爬虫框架与 CLI 在运行期间共用一套日志工具。scrapling.core.utils._utils 中通过 setup_logger() 配合 lru_cache 实现单例风格的日志配置,并由 LoggerProxy 通过 ContextVar 暴露为模块级 log,便于在并发爬取场景下被各子系统安全地复用。资料来源:scrapling/core/utils/_utils.py:1-50
See Also
- 解析与选择器:参见
Selection methods文档 - 抓取器选型:参见
Fetchers文档 - Spider 架构:参见
Spider Architecture文档 - 代理与反爬:参见
Proxy Rotation文档 - CLI 总览:参见
CLI Overview文档 - MCP 服务器:参见
MCP Server文档 - 社区 Issue #82(自动分页)、Issue #100(Turnstile 等待)、Issue #142(OpenClaw 支持)、Issue #159(监听浏览器请求响应)
失败模式与踩坑日记
保留 Doramagic 在发现、验证和编译中沉淀的项目专属风险,不把社区讨论只当作装饰信息。
可能增加新用户试用和生产接入成本。
可能增加新用户试用和生产接入成本。
可能增加新用户试用和生产接入成本。
可能增加新用户试用和生产接入成本。
Pitfall Log / 踩坑日志
项目:D4Vinci/Scrapling
摘要:发现 12 个潜在踩坑项,其中 0 个为 high/blocking;最高优先级:安装坑 - 来源证据:Bug Report : init_script + user_data_dir causes ERR_NAME_NOT_RESOLVED on all navigations。
1. 安装坑 · 来源证据:Bug Report : `init_script` + `user_data_dir` causes `ERR_NAME_NOT_RESOLVED` on all navigations
- 严重度:medium
- 证据强度:source_linked
- 发现:GitHub 社区证据显示该项目存在一个安装相关的待验证问题:Bug Report :
init_script+user_data_dircausesERR_NAME_NOT_RESOLVEDon all navigations - 对用户的影响:可能增加新用户试用和生产接入成本。
- 证据:community_evidence:github | https://github.com/D4Vinci/Scrapling/issues/294 | 来源讨论提到 python 相关条件,需在安装/试用前复核。
2. 安装坑 · 来源证据:No context persistence for code loaded using init_script
- 严重度:medium
- 证据强度:source_linked
- 发现:GitHub 社区证据显示该项目存在一个安装相关的待验证问题:No context persistence for code loaded using init_script
- 对用户的影响:可能增加新用户试用和生产接入成本。
- 证据:community_evidence:github | https://github.com/D4Vinci/Scrapling/issues/350 | 来源讨论提到 python 相关条件,需在安装/试用前复核。
3. 安装坑 · 来源证据:[Feature Request] Add `--version` flag to CLI
- 严重度:medium
- 证据强度:source_linked
- 发现:GitHub 社区证据显示该项目存在一个安装相关的待验证问题:[Feature Request] Add
--versionflag to CLI - 对用户的影响:可能增加新用户试用和生产接入成本。
- 证据:community_evidence:github | https://github.com/D4Vinci/Scrapling/issues/299 | 来源讨论提到 python 相关条件,需在安装/试用前复核。
4. 安装坑 · 来源证据:linux chrome auto closed?
- 严重度:medium
- 证据强度:source_linked
- 发现:GitHub 社区证据显示该项目存在一个安装相关的待验证问题:linux chrome auto closed?
- 对用户的影响:可能增加新用户试用和生产接入成本。
- 证据:community_evidence:github | https://github.com/D4Vinci/Scrapling/issues/348 | 来源讨论提到 python 相关条件,需在安装/试用前复核。
5. 能力坑 · 能力判断依赖假设
- 严重度:medium
- 证据强度:source_linked
- 发现:README/documentation is current enough for a first validation pass.
- 对用户的影响:假设不成立时,用户拿不到承诺的能力。
- 证据:capability.assumptions | https://github.com/D4Vinci/Scrapling | README/documentation is current enough for a first validation pass.
6. 运行坑 · 来源证据:[BUG] [Good First Issue] LinkExtractor never filters .tar.gz links
- 严重度:medium
- 证据强度:source_linked
- 发现:GitHub 社区证据显示该项目存在一个运行相关的待验证问题:[BUG] [Good First Issue] LinkExtractor never filters .tar.gz links
- 对用户的影响:可能增加新用户试用和生产接入成本。
- 证据:community_evidence:github | https://github.com/D4Vinci/Scrapling/issues/349 | 来源讨论提到 python 相关条件,需在安装/试用前复核。
7. 维护坑 · 维护活跃度未知
- 严重度:medium
- 证据强度:source_linked
- 发现:未记录 last_activity_observed。
- 对用户的影响:新项目、停更项目和活跃项目会被混在一起,推荐信任度下降。
- 证据:evidence.maintainer_signals | https://github.com/D4Vinci/Scrapling | last_activity_observed missing
- 严重度:medium
- 证据强度:source_linked
- 发现:no_demo
- 证据:downstream_validation.risk_items | https://github.com/D4Vinci/Scrapling | no_demo; severity=medium
9. 安全/权限坑 · 存在评分风险
- 严重度:medium
- 证据强度:source_linked
- 发现:no_demo
- 对用户的影响:风险会影响是否适合普通用户安装。
- 证据:risks.scoring_risks | https://github.com/D4Vinci/Scrapling | no_demo; severity=medium
10. 安全/权限坑 · 来源证据:[Bug]Session-level proxy silently ignored, leaks real IP
- 严重度:medium
- 证据强度:source_linked
- 发现:GitHub 社区证据显示该项目存在一个安全/权限相关的待验证问题:[Bug]Session-level proxy silently ignored, leaks real IP
- 对用户的影响:可能影响授权、密钥配置或安全边界。
- 证据:community_evidence:github | https://github.com/D4Vinci/Scrapling/issues/295 | 来源讨论提到 python 相关条件,需在安装/试用前复核。
11. 维护坑 · issue/PR 响应质量未知
- 严重度:low
- 证据强度:source_linked
- 发现:issue_or_pr_quality=unknown。
- 对用户的影响:用户无法判断遇到问题后是否有人维护。
- 证据:evidence.maintainer_signals | https://github.com/D4Vinci/Scrapling | issue_or_pr_quality=unknown
12. 维护坑 · 发布节奏不明确
- 严重度:low
- 证据强度:source_linked
- 发现:release_recency=unknown。
- 对用户的影响:安装命令和文档可能落后于代码,用户踩坑概率升高。
- 证据:evidence.maintainer_signals | https://github.com/D4Vinci/Scrapling | release_recency=unknown
来源:Doramagic 发现、验证与编译记录