综合介绍
ScrapeGraphAI是一个创新的Python网页抓取库,它巧妙地结合了大语言模型(LLM)和直接图逻辑来创建网站和本地文档的抓取管道。这个工具的独特之处在于它的简单性和强大功能的完美平衡:用户只需描述想要提取的信息,ScrapeGraphAI就能自动完成所有复杂的抓取工作。该项目支持处理多种格式的文档,包括XML、HTML、JSON和Markdown等。通过提供Python和Node.js的SDK,它使开发者能够轻松地将网页抓取功能整合到自己的项目中。ScrapeGraphAI不仅仅是一个简单的网页抓取工具,它还提供了丰富的功能,如多页面并行抓取、语音生成、Python脚本自动生成等高级特性。
图逻辑是 ScrapeGraphAI 中的一个核心技术概念,它指的是一种用于网页数据提取的结构化处理方法。具体来说:
- 数据结构表示:
- 将网页内容视为一个图形结构
- HTML文档被转换成节点(nodes)和边(edges)的集合
- 每个HTML元素是一个节点,元素之间的关系用边表示
- 处理流程:
- 首先构建网页的DOM树结构
- 分析节点之间的层级和关联关系
- 使用AI(大语言模型)理解用户需求
- 根据图结构寻找最优的数据提取路径
功能列表
- 智能单页面抓取:仅需用户提示和输入源即可完成内容提取
- 多页面并行抓取:支持从多个网页同时提取信息
- 搜索引擎结果抓取:可从搜索引擎前N个结果中提取信息
- 语音转换功能:能将网页内容转换为音频文件
- 自动脚本生成:可生成用于内容提取的Python脚本
- 多种LLM支持:兼容OpenAI、Groq、Azure、Gemini等API及本地Ollama模型
- 高级语义处理:支持Graphviz等语义处理工具
- 浏览器管理:集成了多种浏览器管理工具和服务
- API集成支持:提供完整的API接口及SDK支持
使用帮助
1. 安装步骤
- 基础安装
pip install scrapegraphai
playwright install
建议在虚拟环境中安装以避免库冲突。
- 可选依赖安装
- 安装更多语言模型支持:
pip install scrapegraphai[other-language-models]
- 安装语义处理选项:
pip install scrapegraphai[more-semantic-options]
- 安装浏览器选项:
pip install scrapegraphai[more-browser-options]
2. 基础使用方法
以下是使用SmartScraperGraph(最常用的抓取管道)的示例:
import json
from scrapegraphai.graphs import SmartScraperGraph
# 配置抓取管道
graph_config = {
"llm": {
"api_key": "YOUR_OPENAI_APIKEY",
"model": "openai/gpt-4o-mini",
},
"verbose": True,
"headless": False,
}
# 创建SmartScraperGraph实例
smart_scraper_graph = SmartScraperGraph(
prompt="Extract me all the news from the website",
source="https://www.wired.com",
config=graph_config
)
# 运行管道
result = smart_scraper_graph.run()
print(json.dumps(result, indent=4))
3. 高级功能使用说明
- 多页面抓取
- 使用SmartScraperMultiGraph可以同时从多个页面提取信息
- 支持并行LLM调用,提高处理效率
- 搜索结果抓取
- 使用SearchGraph可以直接从搜索引擎结果中提取信息
- 支持设置提取结果数量
- 语音转换
- 使用SpeechGraph可以将网页内容转换为音频文件
- 支持多种语音合成选项
- 自动脚本生成
- ScriptCreatorGraph可以生成用于内容提取的Python脚本
- 支持单页面和多页面脚本生成
- LLM集成
- 支持多种LLM服务:OpenAI、Groq、Azure、Gemini
- 支持本地Ollama模型(需要先安装Ollama并下载模型)
4. 注意事项
- 确保在使用前正确配置API密钥
- 建议在虚拟环境中运行以避免依赖冲突
- 使用本地模型时需提前安装并下载相应模型
- 遵守网站的使用条款和抓取政策
- 注意控制抓取频率,避免对目标网站造成压力
5. 故障排除
- 如遇到依赖冲突,建议重新创建虚拟环境
- API调用失败时检查密钥配置
- 页面抓取失败时检查网络连接和目标网站可用性
6. 获取帮助
- 官方文档:https://scrapegraph-ai.readthedocs.io/
- Docusaurus文档:https://docs-oss.scrapegraphai.com/
- Discord社区支持:https://discord.gg/uJN7TYcpNa
- GitHub问题追踪:https://github.com/ScrapeGraphAI/Scrapegraph-ai/issues
参考文章:ScrapeGraphAI开启智能数据抓取新时代!用AI重塑数据提取方式!ScrapeGraphAI+LangChain+LangGraph打造最强文章采集和写作AI智能体!让内容创作更简单