5个基于LLM的开源爬虫项目
由于互联网在技术、内容、渠道等方面越来越多样化,并且不断在演变。传统的爬虫大多时候都要根据网页进行定制开发。这种道高一尺魔高一丈的循环,意味着要把有限精力投入到无限的变化中,难以动态响应互联网的变化。基于AI的网页数据提取可以像人类一样动态地浏览数据、理解数据。其优势主要有:实时适应不断变化的网站结构,精确提取需要的内容,用类似人类的方法解析内容,以多种格式生成干净的结构化数据,轻松处理海量数据抓取。
为了便于学习借鉴,下面主要推荐几个比较好的开源的AI爬虫项目。
01
crawl4ai
https://github.com/unclecode/crawl4ai
Crawl4AI简化了Web数据异步提取的过程,使Web数据提取简单高效,非常适合AI和LLM应用程序。
优势特征:
- 100%开源免费。
- 闪电般的性能:在快速可靠的抓取方面优于许多付费服务。
- 基于AI LLM构建:以JSON、HTML或markdown格式输出数据。
- 多浏览器支持:可与Chromium、Firefox和WebKit无缝配合。
- 可同时抓取多个URL:一次处理多个网站,以实现高效的数据提取。
- 全媒体支持:轻松提取图像、音频、视频以及所有HTML媒体标签。
- 提取链接:获取所有内部和外部链接以获得更深入的数据挖掘。
- XML元数据检索:捕获页面标题、描述和其他元数据。
- 可定制:添加用于身份验证、标题或自定义页面修改的功能。
- 支持匿名:自定义用户代理设置。
- 支持截图:具备强大的错误处理功能,拍摄页面快照。
- 自定义JavaScript:在抓取定制结果之前执行脚本。
- 结构化数据输出:根据规则生成良好的JSON数据。
- 智能提取:使用LLM、集群、正则表达式或CSS选择器进行准确的数据抓取。
- 代理验证:通过安全代理支持访问受保护的内容。
- 会话管理:轻松处理多页导航。
- 图像优化:支持延迟加载和响应式图像。
- 动态内容处理:管理交互式页面的延迟加载。
- 对LLM友好的头文件:为特定于LLM的交互传递自定义头文件。
- 精确提取:使用关键字或指令优化结果。
- ️灵活的设置:调整超时和延迟,以实现更流畅的抓取。
- iframe支持:提取iframe中的内容,以获得更深入的数据提取。
02
Scrapegraph-ai
https://github.com/ScrapeGraphAI/Scrapegraph-ai
ScrapeGraphAI是一个用于web数据爬取python库,它使用LLM和逻辑图为网站或者本地文档(XML,HTML,JSON,Markdown等)创建抓取流程。
03
llm-scraper
https://github.com/mishushakov/llm-scraper
LLM Scraper是一个基于LLM的爬虫TypeScript库。并且支持代码生成功能。
优势特征:
- 支持本地或者MaaS提供商:Ollama、GGUF、OpenAI、Vercel AI SDK
- 使用Zod定义的模式
- 使用TypeScript实现完全类型安全
- 基于Playwright框架
- 流式对象
- 支持代码生成
- 支持4种数据格式化模式:
- html用于加载原始HTML
- markdown用于加载markdown
- text用于加载提取的文本(使用Readability.js)
- image用于加载屏幕截图(仅限多模式)
04
crawlee-python
https://github.com/apify/crawlee-python
Crawlee是一个Web爬虫以及浏览器自动化Python库。通过AI、LLM、RAG或GPT提取网页数据,包括从网站下载HTML、PDF、JPG、PNG和其他文件。适用于BeautifulSoup、Playwright和原始HTTP。支持有头和无头模式,支持代理轮换规则。
05
CyberScraper
https://github.com/itsOwen/CyberScraper-2077
CyberScraper 2077是一款基于OpenAI、Gemini和或者本地大模型的Web爬取工具。它专为精确高效的数据提取而设计,适合数据分析师、技术爱好者和任何需要简化在线信息访问的人。
优势特点:
- 基于人工智能的提取:利用人工智能模型来智能地理解和解析Web内容。
- 流畅的流线型界面:友好的用户GUI。
- 多格式支持:以JSON、CSV、HTML、SQL或Excel格式导出数据。
- Tor网络支持:通过Tor网络安全地抓取.onion网站,并提供自动路由和安全功能。
- 隐身模式:实现了隐身模式参数,有助于避免被检测为机器人。
- LLM支持:提供一个支持各种LLM的功能。
- 异步操作:异步操作以实现闪电般的快速操作。
- 智能解析:抓取内容,就好像它是直接从主自己的记忆中提取的一样。
- 缓存:使用LRU缓存和自定义字典实现了基于内容和基于查询的缓存,以减少冗余的API调用。
- 支持上传到Google表格:可以轻松地将提取的CSV数据上传到Google表格。
- 验证码绕过:可通过使用URL末尾的captcha来绕过验证码。(目前只能在本地工作,不能在Docker上工作)
- 当前浏览器:可以使用运行环境中的本地浏览器环境,帮助绕过99%的机器人检测。
- 代理模式(即将推出):内置的代理支持,让你绕过网络限制。
- 浏览页面:浏览网页并从不同页面抓取数据。