
一句話需求整頁數據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),僅供參考