ARTICLE DETAIL

建站实战干货

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

Crawl4AI 快速上手:把网页转成干净的 Markdown 与结构化数据

2026/8/29 15:38:29 拓冰建站 浏览量
Crawl4AI 快速上手:把网页转成干净的 Markdown 与结构化数据 Crawl4AI 快速上手把网页转成干净的 Markdown 与结构化数据【免费下载链接】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凌晨两点你把爬虫跑了一整晚的 CSV 发给业务同事对方回了一句“标题和价格字段怎么全是空的”回看日志HTTP 状态码 200一切正常——问题出在那个网站用 JavaScript 异步加载正文requests 只抓到了空壳 HTML。Crawl4AI 正是为此而生的开源 LLM 友好型爬虫内置无头浏览器渲染动态页面直接把网页转成能喂给 RAG 的干净 Markdown。传统抓取链路 vs Crawl4AI 的差异传统链路是 requests 拉 HTML、正则或 XPath 挑字段、再手动清洗广告和导航。页面一改版解析脚本就跟着崩动态加载的正文更是抓不到。Crawl4AI 把「渲染、净化、转 Markdown、提取」四步压进一次 arun() 调用输出默认带标题层级、表格和链接。用仓库里现成的批量测试看100 个 URL 并发跑完用时 6 秒内存峰值仅 126 MB。对比项传统做法Crawl4AI单页接入成本写解析规则加等待逻辑约 1 小时5 行代码出 Markdown动态加载内容需手写 Selenium 定位与 sleep内置浏览器自动渲染可用 JS 注入点「下一页」批量爬取自己维护线程池与重试arun_many() 按内存自适应并发结构化输出逐字段正则清洗CSS 选择器或 LLM 一次出 JSON核心能力速览异步浏览器池基于 Playwright 的 Chromium 并发调度arun_many() 会按可用内存自动决定开多少页面而不是你手填一个并发数。CSS 选择器与 JS 注入css_selector 只提取命中节点js_code 支持点击「Load More」等交互后等待内容变化动态列表页不再靠 sleep 碰运气。双路结构化提取无需模型时用 CssJsonExtractionStrategy 按 schema 出 JSON需要理解语义时换 LLMExtractionStrategy 指定提示词即可两条路切换只改一个参数。实战演示先跑最小可运行示例对单个 URL 发起一次爬取自动渲染页面并输出 Markdown。import asyncio from crawl4ai import AsyncWebCrawler async def main(): async with AsyncWebCrawler() as crawler: result await crawler.arun(https://docs.crawl4ai.com) print(result.markdown[:300]) asyncio.run(main())运行后你会得到一个 CrawlResult其中 markdown 字段是带标题层级的正文另附 links、media、screenshot 等字段截掉前 300 字符打印确认即可。进阶技巧给爬取任务挂一个 JSON schema不花任何 LLM 调用就能拿到结构化记录。from crawl4ai import AsyncWebCrawler, CssJsonExtractionStrategy schema { name: Courses, baseSelector: section.charge-methodology .framework-collection-item.w-dyn-item, fields: [ {name: course_name, selector: .text-block-93, type: text}, {name: description, selector: .course-content-text, type: text}, ], } config CrawlerRunConfig( extraction_strategyCssJsonExtractionStrategy(schema) ) async with AsyncWebCrawler() as crawler: result await crawler.arun( urlhttps://www.kidocode.com/degrees/technology, configconfig ) print(result.extracted_content)运行后 extracted_content 是一段 JSON 数组每条记录含 course_name 与 description 两个字段直接落库或转 CSV 即可不用再写解析代码。这些场景可以直接套每天定时抓竞品价目表CssJsonExtractionStrategy 提取后导出 CSV。把整站文档批量转成 Markdown喂给 RAG 做知识库。新闻站列表页翻页采集js_code 点击「下一页」session_id 保留登录态。需要留档时加 screenshotTrue每个页面自动回一张截图。安装与首次运行pip install -U crawl4ai crawl4ai-setup装完跑 crawl4ai-doctor 自检浏览器环境。完整参数与示例见 docs/md_v2/core/quickstart.md更多提取策略演示在 docs/examples/ 目录。一条 arun() 调用从 URL 走到干净 Markdown动态页面不再需要 sleep 碰运气。装一个包拿你手头最难抓的那个页面试试。【免费下载链接】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),仅供参考