ARTICLE DETAIL

建站实战干货

来自一线的建站与推广经验沉淀,每一条都经过真实交付验证。

Crawl4AI 命令行(crwl)实战教程:登录态复用、动态页面与结构化提取的 4 个实操

2026/8/29 8:10:35 拓冰建站 浏览量
Crawl4AI 命令行(crwl)实战教程:登录态复用、动态页面与结构化提取的 4 个实操 Crawl4AI 命令行crwl实战教程登录态复用、动态页面与结构化提取的 4 个实操【免费下载链接】crawl4ai Crawl4AI: Open-source LLM Friendly Web Crawler Scraper. Dont be shy, join here: https://discord.gg/jP8KfhDhyN项目地址: https://gitcode.com/GitHub_Trending/craw/crawl4aiCrawl4AI 是一个面向大模型输出的开源网页爬取与数据提取工具其随包附带的 crwl 命令行可以让你不写一行 Python 就完成日常最高频的工作抓页面、复用登录认证、处理 JS 渲染、产出结构化数据。本文按实际操作顺序走一遍这四类任务每个环节给出可用的最短命令并在最后列出常见问题该调哪个参数。快速开始CLI 随 pip 包一起安装首次使用只需初始化一次浏览器依赖pip install crawl4ai crawl4ai-setup # 一次性下载浏览器依赖最短跑通路径是抓一个页面并直接输出 Markdowncrwl https://example.com -o markdown默认不加-o时输出all含元数据的完整 JSON。想看全部参数示例直接执行crwl --example官方文档在 docs/md_v2/core/cli.md 有完整对照。 身份配置文件登录态怎么创建和复用需要登录认证的页面用浏览器配置档profile保存登录状态登录一次之后反复用。crwl profiles create my-login # 打开一个真实浏览器窗口在打开的窗口里正常完成登录回到终端按q保存。Cookie、localStorage 会连同目录一起保留在本地。创建之后任何爬取命令加上-p即可带上登录态crwl https://internal.example.com/dashboard -p my-login -o markdown日常管理走同一入口crwl profiles list查看列表crwl profiles delete my-login删除。配置档用久会变大crwl shrink my-login --dry-run可以先预览能回收的空间正式执行只保留认证数据不影响登录态。⚡ JS 渲染页面与滚动加载怎么处理懒加载、无限滚动的内容静态抓取拿不全crwl 给两个抓手整页滚动和自定义 JS。crwl https://feed.example.com \ -c scan_full_pagetrue,scroll_delay0.5 -o markdownscan_full_page触发逐屏滚动直到到底scroll_delay控制每屏间隔。如果页面靠点击Load More按钮加载则直接写js_code下图是同一参数在 API 侧的写法CLI 的-c支持同名参数示例用一段 JS 找到并点击 Load More 按钮让列表继续加载内容依赖异步请求才出现时加-c delay_before_return_html2在取 HTML 前固定等 2 秒比逐页试探等待时间更稳。 结构化数据提取CSS 选择器与 LLM 提示词怎么选两种提取方式都由-e提取策略配置-sJSON Schema驱动区别在于字段由谁定位。CSS 选择器模式适合结构稳定的页面不依赖大模型输出确定、零推理成本crwl https://news.example.com -e extract_css.yml -s css_schema.json -o jsonSchema 里写baseSelector和每个字段的selector字段类型支持text、attribute等。示例css_selector 限定到 article 正文范围输出含 markdown、截图等字段LLM 模式适合结构混乱、字段语义模糊的页面一句指令即可完成crwl https://shop.example.com -j Extract product name, price, and rating首次执行会提示输入 LLM 提供商与 API key结果存入~/.crawl4ai/global.yml之后不再询问配合-s传入 Schema 可固定输出字段。示例把自然语言指令交给 LLM按指令抽取 JSON 结构化数据选型一句话版式固定、批量大、要省钱用 CSS 选择器版式多变、一次性任务、愿意付推理费用 LLM。 排错与调优三种常见情况1. 配置文件里的参数不生效现象YAML 里改了headless行为却没变。 原因命令行-b/-c中的同名参数会覆盖配置文件源码先读文件、再叠加命令行见 crawl4ai/cli.py。 处理运行时加-v它会打印最终生效的浏览器与爬虫配置删掉冲突项即可。2. 批量页面跑得太慢现象每次爬取都要冷启动浏览器几十页以上耗时明显。 处理先拉起常驻浏览器后续任务直接复用crwl browser start crwl https://example.com -b browser_modebuiltin不需要整页扫描时显式关掉能省最多时间-c scan_full_pagefalse,delay_before_return_html0.1。性能监控表会列出每个任务的内存与耗时便于定位瓶颈性能监控总任务数、活动数、内存MB与单任务耗时一览3. 频繁 403 或弹验证码现象第一条请求成功连续请求后被拒。 原因固定 UA 且无请求间隔行为特征像机器。 处理-b user_agent_moderandom随机化 UA脚本里在两次请求之间显式休眠对风控更严的站点用-p挂真实配置档让请求带着正常浏览指纹发出。配置文件目录组织建议按用途分四个文件放同一目录即可命令行负责临时覆盖configs/ ├── browser.yml # headless、UA、视口 ├── crawler.yml # 缓存、等待、滚动 ├── extract_css.yml # CSS 提取策略 └── extract_llm.yml # LLM 提取策略下一步建议跑一遍crwl --example把参数清单过一遍用crwl profiles create建一个配置档试抓一个需登录的页面对无限滚动页加-c scan_full_pagetrue对比开关前后的内容量用-j加一句中文指令试一次 LLM 提取看输出 Schema 是否符合预期参数细节以 官方 CLI 文档 为准【免费下载链接】crawl4ai Crawl4AI: Open-source LLM Friendly Web Crawler Scraper. Dont be shy, join here: https://discord.gg/jP8KfhDhyN项目地址: https://gitcode.com/GitHub_Trending/craw/crawl4ai创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考