前言
在AI高速发展的当下,数据无疑是核心竞争力,本文将介绍几款与AI结合比较紧密的几款数据抓取工具及其特点。
一、Scrapegraph-ai
ScrapeGraphAI 是一个开源 的 Python 库,旨在革新数据抓取 工具。在当今数据密集的数字环境中,该库通过集成大型语言模型 (LLMs)和模块化的基于图的 管道来自动化从各种来源(例如网站、本地文件等)抓取数据。
只需指定您需要提取的信息,ScrapeGraphAI 就能处理其余的工作,提供比传统抓取工具更灵活 和低维护 的解决方案。
传统的网页抓取工具通常依赖固定模式或手动配置来从网页中提取数据。ScrapeGraphAI 利用 LLMs 的强大功能,能够适应网站结构的变化,减少开发者的频繁干预。这种灵活性确保了即使网站布局发生变化,抓取工具仍然能够正常工作。
我们支持许多 LLMs,包括 GPT、Gemini、Groq、Azure、Hugging Face 等以及可以在本地机器上运行的 Ollama 模型。
如何本地布署ollama:如何使用 Ollama 本地运行 LLMs
详细介绍见:ScrapeGraphAI-一款基于AI的自动化数据爬虫工具
github地址:GitHub - VinciGit00/Scrapegraph-ai: Python scraper based on AI[1]
二、llm-scraper
LLM Scraper 是一个 TypeScript 库,可以使用大型语言模型(LLM)将任何网页转换为结构化数据。
功能特点
•支持多种聊天模型:本地(GGUF)、OpenAI、Groq
•使用 Zod 定义的模式
•完全类型安全的 TypeScript
•基于 Playwright 框架
•在抓取多个页面时支持流式处理
•支持四种输入模式:• html
:加载原始 HTML• markdown
:加载 Markdown• text
:加载提取的文本(使用 Readability.js)• image
:加载截图(仅多模态支持)
github地址:GitHub - mishushakov/llm-scraper: Turn any webpage into structured data using LLMs[2]
三、Firecrawl
Firecrawl 是由 Mendable.ai 和 Firecrawl 社区开发的一个强大工具,能够抓取并将任何网站转换为适合大型语言模型(LLM)使用的 Markdown 或结构化数据。
功能特点
• 强大的抓取、爬取和数据提取能力 • 无需站点地图,能够爬取所有可访问的子页面 • 清晰的数据输出
如何使用
我们提供了易于使用的API和托管版本的文档和操作指南。你也可以自行托管后端。
• API • Python SDK • Node SDK • Langchain Integration 🦜🔗 • Llama Index Integration 🦙 • Langchain JS Integration 🦜🔗
四、MediaCrawler
可以实现小红书爬虫,抖音爬虫, 快手爬虫, B站爬虫, 微博爬虫,可供技术学习使用。
目前能抓取小红书、抖音、快手、B站、微博的视频、图片、评论、点赞、转发等信息。
原理 :利用playwright[3]搭桥,保留登录成功后的上下文浏览器环境,通过执行JS表达式获取一些加密参数 通过使用此方式,免去了复现核心加密JS代码,逆向难度大大降低。
功能列表 :
项目github地址:GitHub - lewis-007/MediaCrawler[4]
五、gpt-crawler
gpt-crawler 是一个项目,通过抓取网页文档并生成文件,导出成output.json然后上传到openAI生成你的gpts。
生成output.json
打开 config.ts
并编辑 url
和 selector
属性以匹配你的需求。然后执行npm start即可生成output.json。
上传数据到 OpenAI
爬取将生成一个名为 output.json
的文件。你可以将其上传到 OpenAI 创建自定义 GPT 或助手。
创建自定义 GPT
1.访问 OpenAI Chat[5] 2.点击左下角你的名字 3.选择 "My GPTs" 4.选择 "Create a GPT" 5.选择 "Configure" 6.在 "Knowledge" 下选择 "Upload a file" 并上传生成的文件
创建自定义助手
1.访问 OpenAI 平台[6] 2.点击 "+ Create" 3.选择 "upload" 并上传生成的文件
项目地址:GitHub - BuilderIO/gpt-crawler: Crawl a site to generate knowledge files to create your own custom GPT from a URL[7]
六、gpt4V-scraper
是一个基于GPT-4V的 Web Agent,它可以自动化抓取网页数据,可用于捕获全页面截图。使用带有隐身插件的 Puppeteer,以避免被反机器人机制检测。设计高效,具有可自定义的超时设置。
项目地址:GitHub - vdutts7/gpt4V-scraper: AI agent that can SEE 👁️, control, navigate, & do stuff for you on your browser.[8]
七、EasySpider
一个可视化浏览器自动化测试/数据采集/爬虫软件,可以使用图形化界面,无代码可视化的设计和执行任务。只需要在网页上选择自己想要操作的内容并根据提示框操作即可完成任务的设计和执行。同时软件还可以单独以命令行的方式进行执行,从而可以很方便的嵌入到其他系统中。
可下载版本 :
项目地址:GitHub - NaiboWang/EasySpider: A visual no-code/code-free web crawler/spider易采集:一个可视化浏览器自动化测试/数据采集/爬虫软件,可以无代码图形化的设计和执行爬虫任务。别名:ServiceWrapper面向Web应用的智能化服务封装系统。[9]
八、基础爬虫框架
常见的爬虫框架包括 Playwright、Cypress、Puppeteer 和 Selenium,它们支持多种编程语言,如 JavaScript、Python、.NET 和 Java 等。
这些工具和框架为开发者提供了多种选择,可以根据具体需求选择最合适的数据抓取解决方案。无需多言,直接上列表,大家可以自行去研究。
| 测试工具 | 学习简易性 | 支持的语言 | | Playwright | ✔✔ | JavaScript, Python, .NET, Java | | Cypress | ✔✔ | JavaScript | | Puppeteer | ✔✔ | JavaScript | | Selenium | ✔✔ | C#, Python, Ruby, Kotlin, JavaScript, Java |
References
[1]
GitHub - VinciGit00/Scrapegraph-ai: Python scraper based on AI: https://github.com/VinciGit00/Scrapegraph-ai/tree/main
[2]
GitHub - mishushakov/llm-scraper: Turn any webpage into structured data using LLMs: https://github.com/mishushakov/llm-scraper
[3]
playwright: https://playwright.dev/
[4]
GitHub - lewis-007/MediaCrawler: https://github.com/lewis-007/MediaCrawler
[5]
OpenAI Chat: https://chat.openai.com/
[6]
OpenAI 平台: https://platform.openai.com/assistants
[7]
GitHub - BuilderIO/gpt-crawler: Crawl a site to generate knowledge files to create your own custom GPT from a URL: https://github.com/BuilderIO/gpt-crawler
[8]
GitHub - vdutts7/gpt4V-scraper: AI agent that can SEE 👁️, control, navigate, & do stuff for you on your browser.: https://github.com/vdutts7/gpt4V-scraper
[9]
GitHub - NaiboWang/EasySpider: A visual no-code/code-free web crawler/spider易采集:一个可视化浏览器自动化测试/数据采集/爬虫软件,可以无代码图形化的设计和执行爬虫任务。别名:ServiceWrapper面向Web应用的智能化服务封装系统。: https://github.com/NaiboWang/EasySpider