
5分钟跑通第一个AI爬虫Scrapegraph-ai提示词到结构化数据实战【免费下载链接】Scrapegraph-aiPython scraper based on AI项目地址: https://gitcode.com/GitHub_Trending/sc/Scrapegraph-ai抓 500 个商品页面你写了 200 行 XPath结果对方改了一次 class 命名所有选择器集体失效。Scrapegraph-ai 是 Python 生态里 AI 驱动的网页抓取框架你只写一句自然语言提示词它替你完成取页、清洗、解析直接返回结构化数据。一句话说清 Scrapegraph-ai 做什么它接收网页地址 自然语言问题输出一份可以直接喂给业务代码的 JSON 字典。内部采用图 节点架构节点是原子操作单元取页、压缩、检索、生成答案图Graph把这些节点串成流水线。换句话说你不再需要读懂页面 DOM 结构只需要描述我要什么。当前版本 1.75.1底层基于 LangChain 构建支持 OpenAI、Gemini、Groq、Azure、MiniMax 等 10 余种云端 API 模型也支持通过 Ollama 跑完全离线的本地模型。最小环境搭建装包并跑出第一份 JSON 先装环境两条命令的事。官方安装说明里特别提醒playwright install不能漏它负责下载抓取网页所需的浏览器二进制# 建独立虚拟环境避免依赖冲突 python3.10 -m venv sgai-env source sgai-env/bin/activate # 安装核心包当前版本 1.75.1 pip install scrapegraphai # 安装抓取网页依赖的浏览器内核必须执行 playwright install云端和本地模型的区别只体现在下一段配置的llm字段云端填api_key 模型名如openai/gpt-4o-mini本地把模型名换成ollama/llama3.2并先执行ollama pull llama3.2模型约 2GB。本地方案零成本但吃显存云端方案稳定但要付费。接着写脚本全文 13 行import json from scrapegraphai.graphs import SmartScraperGraph # LLM 配置本地 Ollama 模型云端改 model 并加 api_key graph_config {llm: {model: ollama/llama3.2}, verbose: True} # 三个输入自然语言提示词 目标 URL 配置 graph SmartScraperGraph( prompt提取公司名称、业务描述和创始人, sourcehttps://scrapegraphai.com/, configgraph_config, ) print(json.dumps(graph.run(), indent4, ensure_asciiFalse))verbose: True会在控制台打印每个节点的中间产物首跑建议保持打开。跑通后终端输出的不是 HTML 片段而是形如{company: ..., description: ..., founders: [...]}的键值结构——这就是提示词到结构化数据的完整闭环全程不到 5 分钟。看懂数据流URL 进、JSON 出的三段式输入端只有两个参数sourceURL 或本地文件路径和prompt你想提取的信息。中间处理由 5 个节点接力完成每个节点的存在都对应一个具体麻烦FetchNode——网页不是纯文本JavaScript 渲染后的内容才算数。它用 Playwright/Chromium 真实加载页面再经 minify-html 和 BeautifulSoup 压缩清洗把几十 KB 的 DOM 缩成纯文本PromptRefinerNode——你写的提示词往往太短比如找创始人它先让 LLM 把问题扩展、补全成模型容易执行的完整指令RAGNode——大页面文本会超出模型上下文窗口。它把文本切块、向量化embedding按提示词检索出最相关的几个段落只把这部分送进下一步max_tokens之外的内容根本不进 LLMGenerateAnswerNode——拿着清洗后的文本 扩展后的提示词让 LLM 产出 JSON 答案。输出端run()直接返回MergeAnswersNode合并后的字典调用get_execution_info()还能拿到每个节点的耗时和 token 消耗配合 prettify 工具 打印可读报表。高频故障对账5 个你大概率会撞上的报错1. 看到Executable doesnt exist找不到 Chromium为什么pip 只装了 Python 库Playwright 的浏览器内核是单独下载的。 怎么修补跑playwright install一次即可后续不用重复。2. 看到Connection refused: localhost:11434为什么默认走本地 Ollama11434 端口但服务没启动或模型没拉取。 怎么修ollama pull llama3.2后执行ollama list确认模型在列。3. 看到 401 或提示 api key 缺失为什么云端模型必须在llm配置里带api_key且.env文件里的变量名要和代码里os.getenv()取的名字一字不差。 怎么修核对变量名并在脚本顶部加load_dotenv()让环境变量真正生效。4. 看到脚本长时间无输出、疑似卡死为什么没开verbose你看不到中间进度或目标站响应极慢。FetchNode 在传入node_config时默认 30 秒超时网络差时可能提前中断。 怎么修开verbose: True观察卡在哪一节点慢站点把headless设为False让浏览器窗口可见辅助判断是页面问题还是网络问题。⚠️版本兼容性警告Python 3.9 安装时会直接报requires-python冲突。官方约束是3.10,4.0且 3.10 是基准版本代码格式化与静态检查均按 py310 配置。请统一用 3.10 建虚拟环境3.11 虽可安装但部分工具链以 3.10 行为为准。按场景选图3 个典型用例对号入座你在做电商商品抓取单页用SmartScraperGraph一个提示词换一种字段要批量跑几百个详情页换SmartScraperMultiGraph它对每个 URL 并行发起 LLM 调用速度随 URL 数线性扩展。你在做内容聚合或新闻监控选SearchGraph输入是搜索关键词而非固定 URLmax_results字段控制从搜索引擎取回多少条结果适合主题漂移、页面不固定的采集任务。你在做本地文档解析XML、CSV、JSON、PDF用DocumentScraperGraph或对应的XmlScraperGraph、CsvScraperGraph直接读文件路径不启动浏览器解析一份本地 XML 的成本远低于抓一个网页。版本对照与官方资源版本Python 约束模型侧变化1.75.1当前3.10,4.03.10 为基准MiniMax 默认模型升至 M2.71.74.03.10,4.0新增 MiniMax 供应商1.71.03.10,4.0升级 LangChain v1.0 兼容继续深挖建议按这个顺序走完整示例库15 种图的 openai/ollama 双版本可运行代码图配置文档verbose、cache_path、代理轮换等全部字段说明LLM 模型文档10 云端模型与 Ollama 本地的接法现在就可以把上面的 13 行脚本改成你自己的 URL 和提示词——第一份 JSON 数据离你只差一次playwright install。【免费下载链接】Scrapegraph-aiPython scraper based on AI项目地址: https://gitcode.com/GitHub_Trending/sc/Scrapegraph-ai创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考