ARTICLE DETAIL

资讯详情

深耕商务建站与企业官网运营的一线实战洞察。

一句话需求,整页数据:Scrapegraph-ai 自然语言爬虫实操指南

一句话需求,整页数据:Scrapegraph-ai 自然语言爬虫实操指南 一句话需求整页数据Scrapegraph-ai 自然语言爬虫实操指南【免费下载链接】Scrapegraph-aiPython scraper based on AI项目地址: https://gitcode.com/GitHub_Trending/sc/Scrapegraph-aiScrapegraph-ai 是一个基于大语言模型的 AI 爬虫框架你只需用自然语言描述要什么数据它就能把网页解析成结构化 JSON省去手写 CSS 选择器和 XPath 的繁琐。本文带你走完从环境配置、写出第一个爬虫到扩展到真实业务的完整路径。️ 它到底解决什么问题假设你有一篇新闻页想拿到页面上所有标题和对应的发布日期。传统做法是 BeautifulSoup你得先打开浏览器、逐层定位到div.news h2、再挨个取值页面稍微改版选择器就全线失效。Selenium 更重还要操心驱动、等待和渲染时机。Scrapegraph-ai 的思路完全不同。它基于 LangChain把抓取过程拆成一串可配置的节点fetch 网页 → parse 解析 → rag 检索 → generate 生成答案你只负责用自然语言说出想要什么剩下的页面理解和结构化交给 LLM 完成。它和传统方案的本质区别在于「你要精确告诉程序数据在哪」变成了「程序自己看懂页面、按你的描述提取」。 环境与模型选择如果你只想最快跑通用 Ollama 本地模型即可零费用、不依赖任何 API 密钥。云端模型OpenAI、Gemini、Anthropic 等能力更强、延迟更低但需要配置对应密钥两者都通过同一个graph_config切换只是llm段不同。环境上唯一要记住的一点需要 Python 3.10 及以上版本建议用虚拟环境隔离避免依赖冲突。先在虚拟环境里安装核心包再装 Playwright 浏览器内核抓取网页内容依赖它python3 -m venv sgai-env source sgai-env/bin/activate pip install scrapegraphai playwright install本地模型方案里先让 Ollama 把模型拉到本地ollama pull llama3.2装好后 Ollama 会默认监听http://localhost:11434无需额外配置。 写你的第一个爬虫从 prompt 到 JSON第一个爬虫按「写配置 → 初始化 → 执行」三步走。配置里llm指定本地模型prompt用自然语言写清需求source是要抓的 URL最后调用run()拿到结果。from scrapegraphai.graphs import SmartScraperGraph import json graph_config { llm: { model: ollama/llama3.2, temperature: 0, model_tokens: 4096, }, verbose: True, headless: False, } smart_scraper_graph SmartScraperGraph( prompt提取页面上所有新闻的标题和发布日期, sourcehttps://example-news-site.com/latest, configgraph_config, ) result smart_scraper_graph.run() print(json.dumps(result, indent4))预期你会看到类似这样的 JSON 输出{ titles: [示例新闻标题一, 示例新闻标题二], dates: [2025-08-12, 2025-08-15] }整个过程 SmartScraperGraph 内部把 URL 与你的 prompt 交给四个节点依次处理最终产出结构化结果换一种任务换一种 Graph如果你的任务不是抓单个页面而是跨页搜索、批量处理或解析本地文件框架里每种任务都对应一个专门的 Graph 类切换入口即可。搜索增强场景下SearchGraph会先查搜索引擎、再对前几篇结果并行抓取用max_results控制篇数from scrapegraphai.graphs import SearchGraph search_graph SearchGraph( prompt列出近期低空经济的主流应用场景, config{llm: {model: ollama/llama3.2}, max_results: 3}, ) result search_graph.run()本地文档解析用DocumentScraperGraphsource可以直接传一段文本或一个 HTML/文本文件路径from scrapegraphai.graphs import DocumentScraperGraph doc_graph DocumentScraperGraph( prompt总结这篇文档的核心论点, sourcereport.html, config{llm: {model: ollama/llama3.2}}, ) result doc_graph.run()常用 Graph 速查任务类型推荐 Graph关键参数单页提取SmartScraperGraphprompt、source多页批量SmartScraperMultiGraphsource列表、schema搜索增强SearchGraphmax_results本地文档解析DocumentScraperGraphsource文本/文件深度多页搜索DepthSearchGraphdepth生成抓取脚本ScriptCreatorGraphsource跑不通时先检查这三处大多数报错集中在三类版本与依赖、模型加载、目标站反爬。版本依赖这块先确认 Python 是 3.10 及以上、且在干净的虚拟环境里。如果你换了模型或升级过包后报ImportError、VersionConflict把虚拟环境删掉重建、再pip install --upgrade scrapegraphai多数能解决。模型加载失败通常是本地模型没拉取或密钥没配。本地方案先跑ollama pull llama3.2云端方案检查llm段里api_key是否填了、model是否带上了厂商前缀比如openai/gpt-4o-mini而不是裸的gpt-4o-mini。如果你改了模型名还是报错打开verbose: True看具体节点抛在哪。目标站反爬方面把headless设为False先肉眼观察页面是否真的加载出来了再考虑在loader_kwargs里挂代理、或换更轻量的 Lite 版本 Graph。⚙️ 往生产走几个值得知道的配置真正投产时有三个配置最常用。verbose: True会在控制台打印各节点调试信息定位问题很快cache_path指向一个目录后命中过的页面会从缓存读取避免重复抓取反爬压力大的站点在loader_kwargs里挂代理最实际。graph_config { llm: {model: ollama/llama3.2}, verbose: True, headless: False, cache_path: ./cache, loader_kwargs: { proxy: {server: http://your_proxy:port} }, }批量抓多个 URL 时换成SmartScraperMultiGraphsource传一个列表即可并行处理from scrapegraphai.graphs import SmartScraperMultiGraph graph SmartScraperMultiGraph( prompt提取每篇文章的标题与摘要, source[url1, url2, url3], configgraph_config, ) result graph.run()更多现成示例可以直接参考 官方 examples 目录配置项含义详见 Graph 配置说明 与 LLM 模型配置。Scrapegraph-ai 的思路是让你专注描述需求、把解析交给模型想跟进新 Graph 和能力变化可以定期查看 CHANGELOG。【免费下载链接】Scrapegraph-aiPython scraper based on AI项目地址: https://gitcode.com/GitHub_Trending/sc/Scrapegraph-ai创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表
PREV
查看更多资讯
NEXT
返回资讯列表