尧图网站设计 尧图网站设计YAOTU DESIGN
ARTICLE DETAIL

资讯详情

深耕网站设计与一线实操的经验洞察。

Scrapegraph-ai AI爬虫:一句话自然语言,把网页变成结构化数据

Scrapegraph-ai AI爬虫:一句话自然语言,把网页变成结构化数据 Scrapegraph-ai AI爬虫一句话自然语言把网页变成结构化数据【免费下载链接】Scrapegraph-aiPython scraper based on AI项目地址: https://gitcode.com/GitHub_Trending/sc/Scrapegraph-ai假设你要从一个新闻页把标题和发布日期全部提出来。传统爬虫要手写选择器和 XPath页面改版一次就失效。Scrapegraph-ai 用自然语言抓取网页并直接输出结构化数据整个过程不需要写任何选择器。先选模型再动手Scrapegraph-ai 需要一个模型来读页面并回答你的提问来源有两种按情况选对比维度本地 Ollama云端 API成本免费跑在自己机器上按调用次数计费速度取决于本机通常较慢快秒级响应上手门槛先装 Ollama再拉取模型只需要一个 API key本地模型爬虫这条路零成本。装好 Ollama 后一条命令先把模型拉下来ollama pull llama3配置里写model: ollama/llama3即可使用不需要密钥适合试验和小规模任务。云端 API 这条路用钱换速度有 OpenAI 密钥的话填进去就能用graph_config { llm: { model: gpt-4o-mini, api_key: OPENAI_API_KEY, }, }对响应速度要求高的生产场景这是更稳的选择。从零到第一条数据新建目录并打开终端三条命令完成环境提示符前缀变成(sgai-env)说明虚拟环境已生效python3.10 -m venv sgai-env source sgai-env/bin/activate pip install scrapegraphai安装日志滚过最后一行停在Successfully installed。如果不想在本机装环境仓库根目录的 Dockerfile 也能把整套东西跑进容器里。在目录里新建scraper.py全文只有约 10 行配置from scrapegraphai.graphs import SmartScraperGraph graph_config { llm: { model: ollama/llama3, temperature: 0, format: json, }, } graph SmartScraperGraph( prompt提取这篇新闻的标题和发布日期, sourcehttps://example.com/news/1, configgraph_config, ) print(graph.run())运行前先说下内部机制之后读报错会轻松很多。一个 graph 就像一张地铁线路图节点是站点依次经过取页面、解析内容、生成答案数据是列车从 URL 出发一站站停靠最后带着结构化数据到站。SmartScraperGraph组装好的就是这条现成的线路。python scraper.py跑起来。终端先显示各节点的进度几十秒后屏幕上多出一段 JSON 字符串字段和 prompt 一一对应{标题: ……, 发布日期: ……}这就是第一条结构化数据提取结果。三个高频场景模板直接用改 prompt 和 source 就能换任务下面三个模板可以直接抄。新闻标题提取一句话提取页面标题和日期新闻页结构稳定只需要一句话说明要哪些字段graph SmartScraperGraph( prompt列出页面上所有新闻标题和发布日期, sourcehttps://news.example.com/top, configgraph_config, ) print(graph.run())预期输出一段 JSON 字符串按列表形式包含全部标题及对应日期。电商价格批量抓取一个提示词处理 URL 列表批量取商品价格不需要自己写循环换成 Multi 版本把 URL 列表直接传给 sourcefrom scrapegraphai.graphs import SmartScraperMultiGraph urls [ https://shop.example.com/product/1, https://shop.example.com/product/2, ] graph SmartScraperMultiGraph( prompt提取商品名称和当前价格, sourceurls, configgraph_config, ) print(graph.run())预期输出JSON 数组每个 URL 对应一条商品记录含名称和价格字段。PDF文档解析把本地文件变成结构化信息DocumentScraperGraph 支持 PDF、HTML 等本地文件source 直接写文件路径from scrapegraphai.graphs import DocumentScraperGraph graph DocumentScraperGraph( prompt提取合同的关键条款和生效日期, sourcecontract.pdf, configgraph_config, ) print(graph.run())预期输出JSON 字符串回答 prompt 里点名的两个字段。出问题先查这份清单⚠️ 项目仅官方支持 Python 3.10.x版本不对是多数安装问题的根源。3.10.x其他版本项目状态官方支持功能完整3.9 及以下依赖冲突3.11 部分节点异常处理方式用虚拟环境锁定该版本换 3.10 重装问pip install 报依赖冲突或 ImportError 答先python --version确认版本非 3.10 的环境基本都会出现这类错误。用 3.10 重建虚拟环境再装一次即可。问运行时报 API key not found 答云端模型必须在llm配置里写api_key。模型名写了云端模型却漏了密钥、或环境变量名对不上都会报这个错。Ollama 本地模型不需要密钥。问本地模型加载慢或超时 答首次运行要下载模型权重提前执行ollama pull llama3拉好。Ollama 不在本机时在配置里用base_url指定它的地址。问目标网站被拦抓回来的内容是空的 答多半是反爬。可以在loader_kwargs里配置代理轮换文档提供免费代理和自有代理两种写法也可以临时把headless设为False看着浏览器实际做了什么。从能用到用得快结果缓存同一个 URL 反复跑第一次最慢。在 graph_config 里加一行cache_path: ./cache第二次起直接读缓存不再重新请求页面。批量 URL目标从一页变成几百页时把 SmartScraperGraph 换成 SmartScraperMultiGraphsource 直接传列表调度交给框架source[https://a.com/1, https://a.com/2]。自定义节点标准线路缺一道工序比如要调用自己的接口用graph.append_node(your_node)把自写的节点挂到现有 graph 上不用重画整张地铁图。继续深入总览图展示了项目里全部的 graph 和节点组合选一条线上车就是全部用法examples/按图类型组织的示例库Ollama 与 OpenAI 各配一套docs/source/scrapers/graph_config.rst完整配置参考含代理、缓存、headless 等参数docs/source/scrapers/llm.rst支持的模型清单与各自配置方式CHANGELOG.md每个版本的新功能与修复记录除了现成的线路每个 graph 都有专属流程例如 SearchGraph 先查搜索引擎、再并页解析结果先把第一条抓取代码跑起来跑通之后回来挑一个真实页面把它改成你想要的数据格式。【免费下载链接】Scrapegraph-aiPython scraper based on AI项目地址: https://gitcode.com/GitHub_Trending/sc/Scrapegraph-ai创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表