
Crawl4AI 使用速查AI 友好网页爬虫与结构化数据提取实践【免费下载链接】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 是一个开源的 AI 友好网页爬虫当前版本 0.9.0它基于 Playwright 抓取动态渲染页面把 HTML 自动转成干净的 Markdown并支持用 CSS 选择器或 LLM 提取结构化数据。它适合需要为 RAG、智能代理或数据管道准备网页输入的工程师。核心能力一览能力一句话说明适用场景网页转 Markdown自动剔除导航、页脚等噪音输出干净文本RAG 语料准备、文档采集CSS 选择器提取按选择器截取页面局部并生成内容只需要正文、商品列表等固定区块LLM 结构化提取用大模型按 Pydantic 模型抽取字段价格、参数等无固定结构的字段深度爬取内置 BFS/DFS/Best-First 策略控制深度与域名站点级采集、内容发现缓存与会话管理CacheMode 控制缓存读写session_id 复用浏览器状态批量爬取降本、登录态爬取反检测选项simulate_user、代理轮换、undetected 浏览器目标站点有反爬机制最短运行路径安装只有一条命令装完后跑一遍环境校验再用官方示例做一次首爬。pip install -U crawl4ai这条命令会安装 Python 包及其依赖。crawl4ai-setup crawl4ai-doctorcrawl4ai-setup负责下载 Chromium 及系统依赖crawl4ai-doctor输出环境自检结果两项都通过说明可以开始爬取。import asyncio from crawl4ai import AsyncWebCrawler async def main(): async with AsyncWebCrawler() as crawler: result await crawler.arun(urlhttps://www.nbcnews.com/business) print(result.markdown.raw_markdown[:500]) asyncio.run(main())运行后控制台会打印该页面转成 Markdown 的前 500 个字符看到正文文本即表示链路正常。场景实战按 CSS 选择器截取页面局部场景目标只采集文章正文排除侧边栏和推荐位。关键操作在 CrawlerRunConfig 里设置css_selectorMarkdown 生成阶段只处理命中的元素。from crawl4ai import AsyncWebCrawler, CrawlerRunConfig, CacheMode config CrawlerRunConfig( cache_modeCacheMode.BYPASS, css_selector.article-content, ) async with AsyncWebCrawler() as crawler: result await crawler.arun(urlhttps://techcrunch.com, configconfig) print(result.markdown.raw_markdown[:1000])预期效果输出的 Markdown 只包含选择器命中区域内的内容长度明显小于整页结果。用 LLM 抽取结构化字段场景目标从价格表中提取模型名称与输入/输出价格直接得到 JSON。关键操作用 Pydantic 定义模型配合LLMExtractionStrategy指定 LLM 提供方和抽取指令。import os from pydantic import BaseModel, Field from crawl4ai import AsyncWebCrawler, CrawlerRunConfig, LLMConfig, CacheMode from crawl4ai.extraction_strategy import LLMExtractionStrategy class OpenAIModelFee(BaseModel): model_name: str Field(..., description模型名称) input_fee: str Field(..., description输入 token 价格) output_fee: str Field(..., description输出 token 价格) config CrawlerRunConfig( cache_modeCacheMode.BYPASS, extraction_strategyLLMExtractionStrategy( llm_configLLMConfig(provideropenai/gpt-4o, api_tokenos.getenv(OPENAI_API_KEY)), schemaOpenAIModelFee.model_json_schema(), instruction提取页面中所有模型名称及其输入、输出 token 价格, ), ) async with AsyncWebCrawler() as crawler: result await crawler.arun(urlhttps://openai.com/api/pricing/, configconfig) print(result.extracted_content)预期效果result.extracted_content是一个 JSON 字符串反序列化后是符合 OpenAIModelFee 结构的对象数组字段值来自页面真实内容。常用配置速查 配置项作用何时使用cache_mode取值 CacheMode.ENABLED / BYPASS / WRITE_ONLY / READ_ONLY控制缓存读写调试阶段用 BYPASS稳定批量爬取用 ENABLEDcss_selector只处理命中的 CSS 元素页面结构固定只需局部内容excluded_tags如[nav, footer, aside]剔除指定标签整页转换但仍要去掉导航页脚remove_overlay_elements抓取前移除弹窗与遮挡层页面有广告或 Cookie 弹窗delay_before_return_html取 HTML 前等待的秒数动态渲染内容加载较慢wait_for等待某个 CSS 选择器或 JS 条件成立关键元素异步出现page_timeout导航等操作超时单位毫秒默认 60000目标站点响应慢时调大screenshot抓取后是否截图需要留存页面状态作为凭证生产环境要点部署官方提供 Docker 镜像docker run -d -p 11235:11235 --shm-size1g unclecode/crawl4ai:latest即可起 API 服务与监控面板配置见 deploy/docker/README.md。并发控制AsyncWebCrawler 可用max_concurrent限制浏览器页面数arun_many的请求间隔由mean_delay与max_range控制避免打满对端。超时与重试单页失败先看result.success与result.error_message配合page_timeout设置合理的等待上限再决定是否降级为 HTTP 直取。状态复用需要保持登录或 Cookie 时用session_id复用浏览器上下文避免每次重新走登录流程。常见踩坑首爬报浏览器相关错误→ 手动执行python -m playwright install --with-deps chromium补齐浏览器依赖。Markdown 内容明显偏少或为空→ 页面依赖 JS 渲染给 config 加delay_before_return_html3000或scan_full_pageTrue再试。同一 URL 重复爬到旧内容→ 确认cache_mode是否为 ENABLED调试时切换为 CacheMode.BYPASS。被目标站点拦截或 403→ 组合simulate_userTrue与override_navigatorTrue或对高拦截站点配置proxy_config走代理。资源导航官方文档docs/md_v2/core/quickstart.md快速开始、docs/md_v2/api/API 参考、docs/md_v2/advanced/进阶主题示例代码docs/examples/quickstart.py基础与提取示例、docs/examples/llm_extraction_openai_pricing.pyLLM 提取、docs/examples/deepcrawl_example.py深度爬取策略高级模块crawl4ai/deep_crawling/BFS/DFS/Best-First 策略、crawl4ai/extraction_strategy.py各类抽取策略、crawl4ai/adaptive_crawler.py自适应爬取、crawl4ai/proxy_strategy.py代理轮换部署与 APIdeploy/docker/完整 Docker 服务、deploy/docker/api.pyREST 接口Crawl4AI 适合把网页批量转化为 AI 可消费语料也适合在固定站点上做长期结构化采集。建议从上面的最短运行路径跑通首爬再按场景小节逐步替换为自己的目标站点。【免费下载链接】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),仅供参考