行业资讯
📅 2026/8/29 22:30:52
Crawl4AI 网页爬虫完整指南:从一键安装到 AI 提取
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 是一个开源的 LLM 友好网页爬虫与抓取工具能把 JS 渲染后的网页自动转成干净的 Markdown 和结构化数据适合做 RAG、智能体和数据管道的新手与开发者。什么是 Crawl4AI它解决的问题一句话定性Crawl4AI 是一个面向大模型场景的异步网页爬虫把渲染页面 → 清洗 HTML → 输出结构化数据这条链路打包成了一个 Python 库。核心卖点LLM 就绪的输出自动产出带标题、表格、代码块的高质量 Markdown可直接喂给模型异步高性能基于 Playwright 的浏览器池arun_many批量并发爬取完整可控会话、代理、Cookie、自定义 JS、钩子函数都开放配置多种提取策略CSS 选择器、正则、LLM 驱动的结构化提取按需切换随处可部署pip 直接装也提供带 API 服务和监控面板的 Docker 镜像快速上手一键安装并跑通第一次网页爬取安装只有三步装完自带浏览器依赖的下载与体检pip install -U crawl4ai # 安装最新版本 crawl4ai-setup # 下载浏览器等依赖 crawl4ai-doctor # 自检安装是否完整想从源码跑也可以git clone https://gitcode.com/GitHub_Trending/craw/crawl4ai后pip install -e .。装好后下面的脚本就是你的第一次爬取无头浏览器访问页面自动把 HTML 转成 Markdown。import asyncio from crawl4ai import AsyncWebCrawler async def main(): async with AsyncWebCrawler() as crawler: result await crawler.arun(https://example.com) print(result.markdown[:300]) # 输出前 300 个字符 asyncio.run(main())浏览器和运行行为分两层配置BrowserConfig管浏览器无头、用户代理、代理CrawlerRunConfig管单次运行缓存、提取策略、超时。两层都是可选的不传就用默认值。核心能力干净 Markdown 输出AI 提取的第一步默认每次爬取都会生成 Markdown但导航栏、广告这类噪音还在。用PruningContentFilter按相关度阈值剪枝DefaultMarkdownGenerator接收它即可结果里fit_markdown是过滤后的正文excluded_tags[nav, footer]这类参数还能直接砍掉指定标签。对做 RAG 来说这一步决定了上下文里的信噪比。CSS 选择器精准提取只要你要的那块不想处理整页时在CrawlerRunConfig里传css_selector.article-content结果就只剩选择器命中的区域配合CacheMode.BYPASS保证拿到新内容适合列表页里只抓正文的场景。 LLM 结构化提取把网页变成 JSON最有威力的功能定义一个 Pydantic 模型LLM 按 schema 从页面里抽字段直接得到结构化数据省去手写解析规则。strategy LLMExtractionStrategy( llm_configLLMConfig(provideropenai/gpt-4o-mini, api_tokenos.getenv(OPENAI_API_KEY)), schemaProduct.schema(), # Product 是 Pydantic 模型 instruction从页面中提取所有产品信息 ) config CrawlerRunConfig(extraction_strategystrategy)深度爬取策略BFS / DFS / Best-Firstcrawl4ai/deep_crawling/模块提供三种策略BFSDeepCrawlStrategy逐层铺开适合发现整站内容DFSDeepCrawlStrategy沿单条路径深入适合垂直内容Best-First 按 URL 评分优先爬相关性高的。三者都能限制max_depth和max_pages控制成本和范围。自适应爬取用自然语言查询代替手写规则AdaptiveCrawler配合AdaptiveConfig如confidence_threshold0.7、strategystatistical可以按查询智能探索站点调用digest(start_url..., query产品价格信息)它会边爬边评估哪些链接值得继续深入直到内容饱和为止。适合给我一个目标你自己去找这类研究型任务示例见crawl4ai/adaptive_crawler.py和 docs/examples/adaptive_crawling/ 目录。实战进阶Docker 部署与批量任务监控本地脚本之外Crawl4AI 提供现成的 Docker API 服务两条命令起一个带监控面板的爬虫服务docker pull unclecode/crawl4ai:latest docker run -d -p 11235:11235 --shm-size1g --name crawl4ai unclecode/crawl4ai:latest起来后访问http://localhost:11235/dashboard就是监控面板服务本体在 deploy/docker/ 目录架构说明见 deploy/docker/ARCHITECTURE.md。批量场景走arun_many(urls, config)默认由内存自适应调度器dispatcher控制并发节奏配合CrawlerMonitorcrawl4ai/components/crawler_monitor.py可以盯住每个任务的内存、峰值与耗时长跑任务心里有数。容易踩的坑安装后浏览器启动报错→ 手动执行python -m playwright install --with-deps chromium再用crawl4ai-doctor复核。被目标站识别为自动化访问→ 开启simulate_user模拟鼠标点击、magic自动处理弹层并配置BrowserConfig里的代理重度对抗场景参考 docs/md_v2/advanced/undetected-browser.md 的反检测浏览器方案。动态加载内容抓不全懒加载、无限滚动→ 用delay_before_return_html等页面稳定用js_code注入window.scrollTo(...)触发滚动配合wait_for条件等待关键元素出现虚拟滚动的完整示例在docs/examples/virtual_scroll_example.py。长跑任务内存吃紧→ 用arun_many的 dispatcher 限制同时在跑的页面数重复爬取的 URL 切到CacheMode.ENABLED走缓存并关掉用不到的截图、媒体提取。资源与下一步官方文档快速开始docs/md_v2/core/quickstart.mdAPI 完整参考docs/md_v2/api/部署指南deploy/docker/README.md基础示例docs/examples/quickstart.pyLLM 提取示例docs/examples/llm_extraction_openai_pricing.py深度爬取模块crawl4ai/deep_crawling/建议路径先跑通上面的最小示例再换css_selector和 LLM 提取各试一次最后把服务用 Docker 拉起来观察监控面板。Crawl4AI 的迭代很快CHANGELOG.md 里能看到每个版本的新功能——装好它爬一个你天天看的站点试试。【免费下载链接】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),仅供参考