ScrapeGraphAI是一个创新的Python库,它融合了大型语言模型(LLM)和直接图逻辑,为用户提供了一种高效的方法,用于构建针对网站、文档和XML文件的爬虫流水线。以下是关于ScrapeGraphAI的详细介绍:
一、核心特点
- 智能化:
- ScrapeGraphAI能够智能地将用户的需求转化为有效的爬取策略,利用先进的自然语言处理技术和图形结构,自动识别和解析网页元素,以提取所需信息。
- 它支持多种交互方式,包括Ollama、Docker、OpenAI模型、Groq、Azure以及Gemini等,确保在各种环境下都能灵活运作。
- 易用性:
- 提供了简洁的API设计,允许用户通过简单的指令来实现复杂的网页数据抽取任务。
- 详尽的文档和示例,助力用户快速学习和应用。
- 灵活性:
- 支持多种大型语言模型和运行环境,如GPT、Gemini、Groq、Azure等,以及本地模型。
- 提供了多种抓取管道,如SmartScraperGraph(用于单页网站抓取)、SearchGraph(用于多页网站抓取)、SpeechGraph(从网站提取信息并生成音频文件)等,满足不同场景的需求。
- 可扩展性:
- 易于整合新的数据源和解析策略,随着技术的发展和用户需求的变化,ScrapeGraphAI能够持续进化。
二、应用场景
ScrapeGraphAI可以在多个领域发挥作用,包括但不限于:
- 自动化数据收集:如市场趋势分析、竞争对手监控等。
- 网站维护和更新:定期检查页面变化,确保网站内容的准确性和时效性。
- 内容管理系统的填充:自动导入结构化信息,提高内容管理效率。
- 学术研究:从在线资源中抓取相关文献信息,为学术研究提供数据支持。
三、安装与配置
要使用ScrapeGraphAI,用户需要按照以下步骤进行安装和配置:
1、安装Python环境:确保您的计算机上已安装Python,版本>3.8。
2、创建虚拟环境:使用Python的venv模块创建一个虚拟环境,以隔离项目依赖。
conda create -n Scrapegraph python=3.10 -y
conda activate Scrapegraph
3、安装ScrapeGraphAI:使用pip命令安装ScrapeGraphAI库和Playwright。
pip install pytest-playwright
pip install scrapegraphai
playwright install
4、配置LLM模型:根据需要配置LLM模型,包括模型名称、温度参数、输出格式等。
本文中采用ollama模型,如何安装请参考网上的教程。
编写抓取脚本:使用ScrapeGraphAI提供的API编写抓取脚本,指定要抓取的网页和数据类型。
四、示例代码
以下是一个使用ScrapeGraphAI的SmartScraperGraph类的示例代码,希望抓取csdn博文的关键信息:
from scrapegraphai.graphs import SmartScraperGraph
graph_config = {
"llm": {
"model": "ollama/qwen2:7b",
"temperature": 0,
"format": "json", # Ollama needs the format to be specified explicitly
"base_url": "http://10.33.19.16:11434", # set Ollama URL
},
"embeddings": {
"model": "ollama/quentinz/bge-large-zh-v1.5:lates",
"base_url": "http://10.33.19.16:11434", # set Ollama URL
},
"verbose": True,
}
smart_scraper_graph = SmartScraperGraph(
prompt="获取文章的标题、作者、发布时间、阅读量、点赞数、收藏数",
# also accepts a string with the already downloaded HTML code
source="https://blog.csdn.net/m0_59235945/article/details/140333596",
config=graph_config
)
result = smart_scraper_graph.run()
print(result)
运行结果如下(通过json格式输出):
原始博文如下:
对比发现,该工具很多属性都解析错误了,而且最大的问题就是它将原文内容进行了润色翻译,导致严重失真。所以该工具的实用场景有待进一步论证,总体来讲,还有很多无法解决的问题。