Crawl4AI 异步爬虫:为 LLM 与 AI 应用量身定制的利器

528 阅读3分钟

❤️ 如果你也关注大模型与 AI 的发展现状,且对大模型应用开发非常感兴趣,我会快速跟你分享最新的感兴趣的 AI 应用和热点信息,也会不定期分享自己的想法和开源实例,欢迎关注我哦!

微信公众号|搜一搜:蚝油菜花

crawl4AI.png

🚀 快速阅读

  1. Crawl4AI 是一款基于 Python 的异步爬虫框架,专为大型语言模型(LLMs)和人工智能(AI)应用设计。
  2. 该框架支持多种输出格式,包括 JSON、HTML、Markdown,满足不同场景的数据需求。
  3. Crawl4AI 提取网页中的媒体文件、链接和元数据,提供强大的自定义功能,包括用户代理设置、自定义钩子、JavaScript 执行等。

正文(附运行示例)

Crawl4AI 是什么

Crawl4AI 是一个用 Python 编写的异步爬虫框架,专门为大型语言模型(LLMs)和人工智能(AI)应用设计。它的主要作用是简化网络爬虫和数据提取的过程。由于采用了异步架构,Crawl4AI 可以高效地处理多个网页,快速抓取所需数据。

Crawl4AI 的主要功能

  • 异步爬虫:支持异步操作,可以同时处理多个网页请求,从而提高爬虫的效率。
  • 数据提取:能够提取网页中的文本内容、图片、视频、音频等多媒体数据。
  • 多格式支持:支持输出 JSON、HTML、Markdown 等多种数据格式。
  • 链接抓取:自动提取网页中的内外链,方便进一步的数据探索。
  • 元数据提取:可以获取网页的元数据,比如标题、描述、关键词等。
  • 自定义钩子:允许用户在爬虫运行前进行身份验证、设置请求头、修改页面等操作。

Crawl4AI 的技术原理

  • 异步编程:利用 Python 的asyncio库实现异步网络请求,从而提高爬虫的并发性能。
  • 请求处理:使用aiohttp等异步 HTTP 客户端库发送请求,获取网页数据。
  • 内容解析:通过BeautifulSouplxml等库解析 HTML/XML 内容,提取所需数据。
  • 正则表达式:使用正则表达式匹配特定模式的字符串,用于数据提取和验证。
  • JavaScript 引擎:集成 JavaScript 引擎(如 Selenium 或 Pyppeteer),执行网页中的 JavaScript 代码。

如何运行 Crawl4AI

以下是一个简单的 Crawl4AI 使用示例:

import asyncio
from crawl4ai import AsyncWebCrawler

async def main():
    async with AsyncWebCrawler(verbose=True) as crawler:
        result = await crawler.arun(url="https://www.example.com")
        print(result.markdown)

if __name__ == "__main__":
    asyncio.run(main())

资源


❤️ 如果你也关注大模型与 AI 的发展现状,且对大模型应用开发非常感兴趣,我会快速跟你分享最新的感兴趣的 AI 应用和热点信息,也会不定期分享自己的想法和开源实例,欢迎关注我哦!

微信公众号|搜一搜:蚝油菜花