用途:使用 Scrapling 库抓取网页内容,覆盖从单次请求到大规模爬取。解析器可学习网站变化,在页面更新后自动重新定位元素;抓取器可绕过 Cloudflare Turnstile 等反爬系统;爬虫框架支持并发、多会话、暂停/恢复与自动代理轮换。需 Python 3.10+。
安装:创建虚拟环境后执行 pip install "scrapling[all]>=0.4.2",再执行 scrapling install --force 下载浏览器依赖。也可用 Docker:docker pull pyd4vinci/scrapling 或 docker pull ghcr.io/d4vinci/scrapling:latest(仅限命令行,不能写 Python 代码)。
CLI 用法:scrapling extract 命令组无需写代码即可下载并提取内容,子命令包括 get、post、put、delete、fetch、stealthy-fetch。通过输出文件扩展名选择格式:.md 转 Markdown,.html 保留 HTML,.txt 输出纯文本。可用 -s/--css-selector 提取指定部分。一般先用 get,失败或返回空再升级到 fetch,最后用 stealthy-fetch;fetch 与 stealthy-fetch 速度接近。请求类命令共享 --headers、--cookies、--timeout、--proxy、--params、--follow-redirects、--verify、--impersonate、--stealthy-headers 等选项;post/put 额外支持 -d/--data 与 -j/--json。浏览器类命令共享 --headless、--disable-resources、--network-idle、--real-chrome、--timeout、--wait、--css-selector、--wait-selector、--proxy、--extra-headers;fetch 独有 --locale;stealthy-fetch 独有 --block-webrtc、--solve-cloudflare、--allow-webgl、--hide-canvas。
代码用法:通过 scrapling.fetchers 的 Fetcher、FetcherSession、StealthyFetcher、StealthySession、DynamicFetcher、DynamicSession 发起请求;用 scrapling.spiders 的 Spider、Request、Response 编写爬虫,支持并发、多会话路由与 crawldir 检查点暂停恢复;也可用 scrapling.parser.Selector 直接解析 HTML。
限制与注意:仅抓取获授权内容,遵守 robots.txt 与服务条款,大规模爬取应加延迟,未经许可不得绕过付费墙或认证,不得抓取个人/敏感数据。临时文件用后清理,优先 .md 输出,用 CSS 选择器避免传入大段 HTML。该技能已封装大部分官方文档,未经用户许可不要查外部来源。