跳至主要内容

这个AI爬虫工具杀疯了,GitHub上19k星,支持20+种大模型

爬虫的都知道,最痛苦的不是获取数据,而是维护爬虫代码。


今天写的XPath,明天网站改版就失效。CSS选择器调了半天,一换页面结构全得重来。更头大的是动态渲染的页面,传统爬虫只能拿到一片空白HTML,根本抓不到真实内容。


写爬虫不难,维护爬虫才是噩梦。


一、ScrapeGraphAI 是什么


GitHub上有个叫 ScrapeGraphAI 的项目,Star数已经突破了 19k。


它的核心理念很简洁:"You Only Scrape Once"(你只需要抓取一次)。简单来说,这是一个基于大语言模型的智能爬虫框架,让你用自然语言描述需求,AI自动帮你抓取数据。


不需要写复杂的CSS选择器,不需要调试XPath,甚至不需要分析网页结构。就像这样:


prompt="提取页面上的产品名称、价格和评分"


AI会自动理解网页结构,找出你要的数据,输出规整的JSON。


二、它能做什么

2.1 自然语言驱动——说人话就能写爬虫


这是ScrapeGraphAI最大的特色。


传统爬虫要这样写:


• 分析网页DOM结构

• 找class名、id名

• 写CSS选择器或XPath

• 处理各种异常情况


用ScrapeGraphAI只需要:


• 直接说"提取文章标题和发布时间"

• 直接说"抓取表格里的所有数据"

• 直接说"获取产品图片链接"


LLM会自动理解你的意图,在页面上找到对应元素。


2.2 自适应网页结构——改版也不怕


传统爬虫最怕网站改版。页面结构一变,之前写的选择器全失效,得重新分析、重新调试。


ScrapeGraphAI的做法是让AI实时理解页面结构。不管网站怎么改版,只要内容还在,AI就能找到它。这得益于底层LLM的语义理解能力——它看的是"这个元素是什么",而不是"这个元素的class叫什么"。


2.3 五大功能模块——覆盖各种抓取场景


ScrapeGraphAI提供了五种不同的抓取模式:


模块


用途


场景


SmartScraperGraph

单页抓取


指定URL,提取结构化数据


SearchGraph

搜索抓取


从搜索引擎结果中自动抓取


SmartScraperMultiGraph

批量抓取


同时处理多个URL并合并结果


SpeechGraph

语音生成


抓取内容并转为音频(TTS)


ScriptCreatorGraph

代码生成


自动生成Python/Node.js爬虫代码


这意味着无论你是要抓单个页面、批量处理、还是从搜索结果里提取数据,都有对应的工具。


2.4 动态渲染支持——JavaScript页面也能抓


很多现代网站用React、Vue等框架渲染,传统爬虫只能拿到空HTML。


ScrapeGraphAI内置了Playwright浏览器引擎,可以:


• 执行JavaScript等待页面完全渲染

• 模拟用户点击、滚动等操作

• 抓取AJAX加载的动态内容


CSR(客户端渲染)的页面不再是难题。


2.5 支持20+种LLM——本地云端都能跑


ScrapeGraphAI不绑定特定模型,支持各种LLM:


• 云端模型:OpenAI GPT-4、Claude、Gemini、DeepSeek、Groq

• 本地模型:通过Ollama运行Llama、Nomic等

• 自定义API:兼容任何OpenAI格式的API


你可以根据需求和成本选择,想省钱用本地模型,想效果好用GPT-4。


三、部署与使用


ScrapeGraphAI的安装非常简单:


pip install scrapegraphai

playwright install


第二行是安装浏览器引擎,用于处理动态页面。


基础使用示例

from scrapegraphai.graphs import SmartScraperGraph


graph_config = {

"llm": {

"model": "ollama/llama3.2",

"model_tokens": 8192

}

}


smart_scraper = SmartScraperGraph(

prompt="提取公司描述和创始人信息",

source="https://example.com",

config=graph_config

)


result = smart_scraper.run()

print(result)

使用OpenAI模型

graph_config = {

"llm": {

"api_key": "your-openai-key",

"model": "gpt-4",

}

}

从搜索结果抓取

from scrapegraphai.graphs import SearchGraph


search_graph = SearchGraph(

prompt="提取威尼斯传统美食名称",

config=graph_config

)

result = search_graph.run()


提示:使用云端LLM时注意Token消耗,建议先用本地模型测试提示词效果。


四、适合谁用

• 数据分析师:需要定期抓取竞品数据、行业报告

• 爬虫开发者:厌倦了维护XPath和CSS选择器

• 产品经理:需要快速验证数据源可行性

• 研究人员:抓取学术论文、新闻资讯

• 电商运营:监控竞品价格、库存信息

• AI应用开发者:构建需要实时数据的RAG应用

五、写在最后


ScrapeGraphAI代表了爬虫技术的新方向:**从"精确描述位置"转向"描述想要什么"**。


相比传统爬虫几十上百行的代码,这个项目提供了一种更现代的思路。如果你经常需要抓取网页数据,不妨试试看。花几分钟配置好环境,可能会改变你对爬虫的认知。


开源地址:https://github.com/ScrapeGraphAI/Scrapegraph-ai


官网:https://scrapegraphai.com/


觉得有用的话,点个赞、收藏一下,也欢迎转发给需要的朋友。


有什么想聊的,评论区见。


关注「妙想栈」,每天带你发现GitHub上最值得关注的AI开源项目。


原文来源:微信公众号 | 转载于 Wechat Mediapress

评论

此博客中的热门博文

不花一分钱,用 Cloudflare Warp 免费实现科学上网 原创 W不懂安全

   在如今网络环境越来越复杂的情况下,很多人开始寻找安全、可靠、免费的科学上网方式。但动辄买 VPS、配置节点、折腾端口,对大多数人来说太麻烦。      其实你知道吗? Cloudflare 推出的      WARP       工具,只需要几步,就能让你       免费访问 Google、YouTube、ChatGPT 等国外网站       ,而且不需要任何技术背景、完全免费、跨平台支持(手机 +电脑都能用)!      如果你是学生党 / 打工人,想要上 Google 查资料、用 ChatGPT 学习、看看油管上的教程,但又不懂 VP恩、不想花钱买魔法……  

详解 Google 账号与 Google Play 换区,看完你就明白了 原创 海外社媒ACC

               现在很多兄弟虽然解决了 Google 账号注册问题,但是对于 Google 账号的了解知之甚少。比如,你知道 Google 账号和 Google Play 的地区可以设置不一致吗?Google 账号多久未使用会被注销吗?如何安全有效地更改账号和商店地区等等疑问。

暗网排名Top10的搜索引擎,暗网黑客零基础入门到精通,收藏这篇就够了 原创 黑客大白

                 暗网因犯罪活动而名声不佳:非法商品、出售被盗数据或雇佣黑客服务。虽然犯罪肯定是暗网的一部分,但暗网还有更多用途。暗网有一些合法的用途,例如在审查制度严格的国家 /地区,人们会使用暗网来保护自己的匿名性,或者阅读与政党或政治话题无关的新闻。