公司动态
3 步跑通 AI 爬虫:Scrapegraph-ai 自然语言爬网页完整入门
3 步跑通 AI 爬虫Scrapegraph-ai 自然语言爬网页完整入门【免费下载链接】Scrapegraph-aiPython scraper based on AI项目地址: https://gitcode.com/GitHub_Trending/sc/Scrapegraph-ai你写过一批 CSS 选择器第二天页面改版就全失效吗Scrapegraph-ai 是一个基于 LLM 的 Python 爬虫库你用一句自然语言描述要什么数据它自己完成网页抓取、解析与摘要生成不用手写选择器。读完本文你能搭好你的第一个 AI 抓取管道并会切换本地与云端模型。为什么选它替代选择器、浏览器脚本和手动粘贴如果你还在对着页面结构逐个写选择器传统做法是手搓 BeautifulSoup 脚本页面不变时很快结构一变就得整段重写。Scrapegraph-ai 的输入是一句自然语言页面结构交给模型处理页面改版后脚本不用动。如果你还在用 Selenium 处理浏览器驱动、页面加载时机和反爬重试这些细节都要自己盯。Scrapegraph-ai 把 Playwright 抓取封装在管道内部配置里一个headless参数控制是否弹出浏览器窗口一行自动化代码都不用写。如果你只是把抓到的网页粘进聊天框问 LLM抓取和解析两步仍然是手动的输出也是一段没法直接进代码的文本。Scrapegraph-ai 把这几步固化成图一次run()返回结构化字典可以直接json.dumps或喂给下游流程。跑起来安装、拉模型、写脚本 3 步第 1 步 安装包和浏览器pip install scrapegraphai playwright install预期看到Python 里import scrapegraphai不报错playwright install下载完浏览器二进制首次几分钟。官方建议装在虚拟环境里避免和其他项目依赖冲突。第 2 步 拉取本地模型本文主路径走 Ollama 本地模型零 API Key、零调用成本。装好 Ollama 后执行ollama pull llama3.2预期看到ollama list里出现 llama3.2。更习惯云端模型的话把llm配置换成 OpenAIapi_key填环境变量OPENAI_API_KEY即可支持的模型清单见 docs/source/scrapers/llm.rst。第 3 步 写最小抓取脚本from scrapegraphai.graphs import SmartScraperGraph graph_config { llm: {model: ollama/llama3.2, model_tokens: 4096}, verbose: True, } scraper SmartScraperGraph( promptExtract the company business, founders, and social media links, sourcehttps://scrapegraphai.com/, configgraph_config, ) print(scraper.run())预期看到打印出一个含 description、founders、social_media_links 三个键的字典内容正是 prompt 要的结构化数据。可运行的对照示例见 examples/smart_scraper_graph/ollama/smart_scraper_ollama.py。看懂它一张图看懂 URL 怎么变成 JSON整条管道四步抓取环节按 URL 拉取完整 HTML内部走 Playwright带 JS 渲染的页面也能拿到最终内容输出交给下一步。解析环节清洗 HTML 噪声并按model_tokens把内容切块只保留与问题相关的块。生成环节让模型基于这些块回答 prompt产出结构化字典。配置reattempt: True时末尾多一道复判环节检测到答案为空或 NA 会自动重答一次。不必关心内部节点分工记住数据流URL 进、字典出中间每一步都能用配置开关。少踩坑4 个高频问题运行时报 Playwright 浏览器错误Executable doesnt exist。原因是 pip 包装的是驱动不含浏览器二进制。处理补跑一次playwright install抓取网页场景必做。连不上 Ollamalocalhost:11434 connection refused。原因是 Ollama 服务没启动或模型没拉下来。处理启动 Ollama 服务后重新ollama pull llama3.2如果 Ollama 跑在 Docker 容器里在配置里加base_url指向容器地址参数说明见 docs/source/scrapers/llm.rst。结果是空的或 NA。原因是模型上下文太小页面内容没被完整覆盖。处理先把model_tokens调大示例脚本用的 4096 就是为此仍不行就加reattempt: True管道会在复判失败后自动重试一轮。看不到浏览器没法调页面加载问题。原因是抓取环节默认 headless 运行。处理配置里设headless: False浏览器窗口会弹出来可以逐步观察页面加载过程。下一步单页到批量、多页与自定义批量多 URL 怎么跑SmartScraperMultiGraph 对一组 URL 用同一 prompt 并行提取完整示例见 examples/smart_scraper_graph/ollama/smart_scraper_multi_ollama.py。搜索式多页抓取SearchGraph 从搜索引擎前 N 条结果里提取信息适合新闻聚合示例在 examples/search_graph/ollama/search_graph_ollama.py。调优与二次开发全部管道参数速查在 docs/source/scrapers/graph_config.rst节点清单自己组装管道的积木在 docs/source/modules/scrapegraphai.nodes.rst想跑测试或提 PR先看 CONTRIBUTING.md。自然语言就是你的抓取接口选择器从此不用维护。现在就去跑一次run()。【免费下载链接】Scrapegraph-aiPython scraper based on AI项目地址: https://gitcode.com/GitHub_Trending/sc/Scrapegraph-ai创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考