Scrapegraph-ai 项目介绍
Scrapegraph-ai 是一个创新的网页抓取 Python 库,它结合了大语言模型 (LLM) 和直接图逻辑来创建网站和本地文档(如 XML、HTML、JSON、Markdown 等)的抓取管道。这个项目的独特之处在于它的简单性和强大功能 - 用户只需说明想要提取的信息,库就会自动完成抓取工作。
核心特性
- 智能抓取:利用 LLM 理解用户需求,自动设计抓取策略。
- 多源支持:不仅可以抓取网页,还支持本地文档的信息提取。
- 灵活配置:提供多种抓取管道,适应不同场景需求。
- 多语言模型支持:可使用 OpenAI、Groq、Azure、Gemini 等 API,也支持通过 Ollama 使用本地模型。
安装与使用
安装 Scrapegraph-ai 非常简单,只需通过 pip 安装即可:
pip install scrapegraphai
playwright install
建议在虚拟环境中安装,以避免与其他库发生冲突。
使用示例
以下是使用 Scrapegraph-ai 的 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,
}
smart_scraper_graph = SmartScraperGraph(
prompt="Find some information about what does the company do, the name and a contact email.",
source="https://scrapegraphai.com/",
config=graph_config
)
result = smart_scraper_graph.run()
print(json.dumps(result, indent=4))
多样化的抓取管道
Scrapegraph-ai 提供了多种抓取管道,包括:
- SmartScraperGraph:单页面智能抓取
- SearchGraph:多页面搜索结果抓取
- SpeechGraph:网页信息提取并生成音频文件
- ScriptCreatorGraph:网页信息提取并生成 Python 脚本
- SmartScraperMultiGraph:多页面并行抓取
- ScriptCreatorMultiGraph:多页面脚本生成
每种管道都有其特定用途,可以根据不同需求选择合适的管道。
开源贡献
Scrapegraph-ai 是一个开源项目,欢迎社区贡献。项目维护者鼓励用户加入 Discord 服务器讨论改进建议,并遵循项目的贡献指南参与开发。
文档与演示
项目提供了详细的文档和在线演示,方便用户快速上手和深入了解:
- 官方文档:ReadTheDocs
- Docusaurus 文档:Render
- Streamlit 演示:Web Dashboard
- Google Colab 示例:Colab Notebook
项目愿景
Scrapegraph-ai 旨在简化网页抓取过程,使得即使是没有编程经验的用户也能轻松提取所需信息。通过结合 AI 技术,项目希望为数据分析、研究和商业智能等领域提供强大而易用的工具。
结语
Scrapegraph-ai 代表了网页抓取技术的一次创新,它将 AI 的力量与传统抓取技术相结合,为用户提供了一个强大、灵活且易用的工具。无论是对于开发者、数据科学家还是普通用户,Scrapegraph-ai 都提供了一种新的、更智能的方式来获取和处理网络信息。