crawl4ai

crawl4ai

开源网页爬虫框架 支持AI应用和大型语言模型

Crawl4AI是一个开源的网页爬虫框架,为AI应用和大型语言模型优化。该框架支持多URL并行爬取、媒体标签和链接提取、自定义钩子和JavaScript执行,并提供多种数据提取策略。v0.2.77版本改进了Docker支持,升级Selenium,并优化了性能。Crawl4AI简化了网页数据采集过程,为AI开发提供了实用的工具。

Crawl4AI网络爬虫数据提取人工智能开源软件Github开源项目

Crawl4AI v0.2.77 🕷️🤖

GitHub 星标 GitHub 分支 GitHub 问题 GitHub 拉取请求 许可证

Crawl4AI 简化了网络爬虫和数据提取,使其适用于大型语言模型(LLMs)和人工智能应用。🆓🌐

[v0.2.77] - 2024-08-02

功能、性能和跨平台兼容性方面的重大改进!🚀

  • 🐳 Docker 增强
    • 显著改进的 Dockerfile,便于在 Linux、Mac 和 Windows 上安装。
  • 🌐 官方 Docker Hub 镜像
    • 在 Docker Hub 上发布了我们的第一个官方镜像,简化部署流程(unclecode/crawl4ai)。
  • 🔧 Selenium 升级
    • 移除了对 ChromeDriver 的依赖,现在使用 Selenium 的内置功能以获得更好的兼容性。
  • 🖼️ 图像描述
    • 实现了为网页提取的图像生成文本描述的功能。
  • 性能提升
    • 各种改进以提高整体速度和性能。

立即尝试!

✨ 在这里体验 在 Colab 中打开

✨ 访问我们的文档网站

✨ 查看演示

特性 ✨

  • 🆓 完全免费和开源
  • 🤖 适用于 LLM 的输出格式(JSON、清洁的 HTML、markdown)
  • 🌍 支持同时爬取多个 URL
  • 🎨 提取并返回所有媒体标签(图像、音频和视频)
  • 🔗 提取所有外部和内部链接
  • 📚 提取页面的元数据
  • 🔄 用于身份验证、头部和爬取前页面修改的自定义钩子
  • 🕵️ 用户代理自定义
  • 🖼️ 截取页面截图
  • 📜 在爬取前执行多个自定义 JavaScript
  • 📚 各种分块策略:基于主题、正则表达式、句子等
  • 🧠 高级提取策略:余弦聚类、LLM 等
  • 🎯 支持 CSS 选择器
  • 📝 传递指令/关键词以优化提取

Crawl4AI

🌟 向 v0.2.77 的贡献者致敬!

非常感谢这些杰出的贡献者,使这个版本成为可能:

你们的贡献正在推动 Crawl4AI 向前发展!🚀

酷炫示例 🚀

快速入门

from crawl4ai import WebCrawler # 创建 WebCrawler 实例 crawler = WebCrawler() # 预热爬虫(加载必要的模型) crawler.warmup() # 在 URL 上运行爬虫 result = crawler.run(url="https://www.nbcnews.com/business") # 打印提取的内容 print(result.markdown)

如何安装 🛠

使用 pip 🐍

virtualenv venv source venv/bin/activate pip install "crawl4ai @ git+https://github.com/unclecode/crawl4ai.git"

使用 Docker 🐳

# 对于 Mac 用户(M1/M2) # docker build --platform linux/amd64 -t crawl4ai . docker build -t crawl4ai . docker run -d -p 8000:80 crawl4ai

使用 Docker Hub 🐳

docker pull unclecode/crawl4ai:latest docker run -d -p 8000:80 unclecode/crawl4ai:latest

以速度为先的设计 🚀

这个库最重要的设计原则也许就是速度。我们需要确保它能够尽可能快速地并行处理多个链接和资源。将这种速度与 Groq 等快速 LLM 结合起来,结果将会令人惊叹。

import time from crawl4ai.web_crawler import WebCrawler crawler = WebCrawler() crawler.warmup() start = time.time() url = r"https://www.nbcnews.com/business" result = crawler.run( url, word_count_threshold=10, bypass_cache=True) end = time.time() print(f"耗时:{end - start}")

让我们看看上面代码片段的计算时间:

[日志] 🚀 爬取完成,成功:True,耗时:1.3623387813568115 秒 [日志] 🚀 内容提取完成,成功:True,耗时:0.05715131759643555 秒 [日志] 🚀 提取过程,耗时:0.05750393867492676 秒。 总耗时:1.439958095550537

从页面获取内容花费了 1.3623 秒,提取内容花费了 0.0575 秒。🚀

从网页提取结构化数据 📊

从官方页面爬取所有 OpenAI 模型及其费用。

import os from crawl4ai import WebCrawler from crawl4ai.extraction_strategy import LLMExtractionStrategy from pydantic import BaseModel, Field class OpenAIModelFee(BaseModel): model_name: str = Field(..., description="OpenAI 模型的名称。") input_fee: str = Field(..., description="OpenAI 模型的输入 token 费用。") output_fee: str = Field(..., description="OpenAI 模型的输出 token 费用。") url = 'https://openai.com/api/pricing/' crawler = WebCrawler() crawler.warmup() result = crawler.run( url=url, word_count_threshold=1, extraction_strategy= LLMExtractionStrategy( provider= "openai/gpt-4o", api_token = os.getenv('OPENAI_API_KEY'), schema=OpenAIModelFee.schema(), extraction_type="schema", instruction="""从爬取的内容中,提取所有提到的模型名称以及它们的输入和输出 token 费用。 不要遗漏整个内容中的任何模型。一个提取的模型 JSON 格式应该像这样: {"model_name": "GPT-4", "input_fee": "US$10.00 / 1M tokens", "output_fee": "US$30.00 / 1M tokens"}。""" ), bypass_cache=True, ) print(result.extracted_content)

执行 JS、使用 CSS 选择器过滤数据和聚类

from crawl4ai import WebCrawler from crawl4ai.chunking_strategy import CosineStrategy js_code = ["const loadMoreButton = Array.from(document.querySelectorAll('button')).find(button => button.textContent.includes('Load More')); loadMoreButton && loadMoreButton.click();"] crawler = WebCrawler() crawler.warmup() result = crawler.run( url="https://www.nbcnews.com/business", js=js_code, css_selector="p", extraction_strategy=CosineStrategy(semantic_filter="technology") ) print(result.extracted_content)

文档 📚

有关详细文档,包括安装说明、高级功能和 API 参考,请访问我们的文档网站

贡献 🤝

我们欢迎开源社区的贡献。查看我们的贡献指南以获取更多信息。

许可证 📄

Crawl4AI 根据 Apache 2.0 许可证发布。

联系方式 📧

如有问题、建议或反馈,请随时联系:

祝爬取愉快!🕸️🚀

项目收藏历史

项目收藏历史图表

编辑推荐精选

Vora

Vora

免费创建高清无水印Sora视频

Vora是一个免费创建高清无水印Sora视频的AI工具

Refly.AI

Refly.AI

最适合小白的AI自动化工作流平台

无需编码,轻松生成可复用、可变现的AI自动化工作流

酷表ChatExcel

酷表ChatExcel

大模型驱动的Excel数据处理工具

基于大模型交互的表格处理系统,允许用户通过对话方式完成数据整理和可视化分析。系统采用机器学习算法解析用户指令,自动执行排序、公式计算和数据透视等操作,支持多种文件格式导入导出。数据处理响应速度保持在0.8秒以内,支持超过100万行数据的即时分析。

AI工具酷表ChatExcelAI智能客服AI营销产品使用教程
TRAE编程

TRAE编程

AI辅助编程,代码自动修复

Trae是一种自适应的集成开发环境(IDE),通过自动化和多元协作改变开发流程。利用Trae,团队能够更快速、精确地编写和部署代码,从而提高编程效率和项目交付速度。Trae具备上下文感知和代码自动完成功能,是提升开发效率的理想工具。

AI工具TraeAI IDE协作生产力转型热门
AIWritePaper论文写作

AIWritePaper论文写作

AI论文写作指导平台

AIWritePaper论文写作是一站式AI论文写作辅助工具,简化了选题、文献检索至论文撰写的整个过程。通过简单设定,平台可快速生成高质量论文大纲和全文,配合图表、参考文献等一应俱全,同时提供开题报告和答辩PPT等增值服务,保障数据安全,有效提升写作效率和论文质量。

AI辅助写作AI工具AI论文工具论文写作智能生成大纲数据安全AI助手热门
博思AIPPT

博思AIPPT

AI一键生成PPT,就用博思AIPPT!

博思AIPPT,新一代的AI生成PPT平台,支持智能生成PPT、AI美化PPT、文本&链接生成PPT、导入Word/PDF/Markdown文档生成PPT等,内置海量精美PPT模板,涵盖商务、教育、科技等不同风格,同时针对每个页面提供多种版式,一键自适应切换,完美适配各种办公场景。

AI办公办公工具AI工具博思AIPPTAI生成PPT智能排版海量精品模板AI创作热门
潮际好麦

潮际好麦

AI赋能电商视觉革命,一站式智能商拍平台

潮际好麦深耕服装行业,是国内AI试衣效果最好的软件。使用先进AIGC能力为电商卖家批量提供优质的、低成本的商拍图。合作品牌有Shein、Lazada、安踏、百丽等65个国内外头部品牌,以及国内10万+淘宝、天猫、京东等主流平台的品牌商家,为卖家节省将近85%的出图成本,提升约3倍出图效率,让品牌能够快速上架。

iTerms

iTerms

企业专属的AI法律顾问

iTerms是法大大集团旗下法律子品牌,基于最先进的大语言模型(LLM)、专业的法律知识库和强大的智能体架构,帮助企业扫清合规障碍,筑牢风控防线,成为您企业专属的AI法律顾问。

SimilarWeb流量提升

SimilarWeb流量提升

稳定高效的流量提升解决方案,助力品牌曝光

稳定高效的流量提升解决方案,助力品牌曝光

Sora2视频免费生成

Sora2视频免费生成

最新版Sora2模型免费使用,一键生成无水印视频

最新版Sora2模型免费使用,一键生成无水印视频

下拉加载更多