文章目录
- 🚀 探索数据新境界:ScrapeGraphAI,一键触发智能网络抓取革命
- 一、介绍
- 二、环境
- 三、实例
🚀 探索数据新境界:ScrapeGraphAI,一键触发智能网络抓取革命
一、介绍
🌟【技术控必备】🛠️小红书技术宅的福音来啦!🎉
👩💻👨💻各位编程大佬们,是不是还在为手动抓取网页数据头疼?今天给大家安利一个超给力的Python库——ScrapeGraphAI!
🌈这不仅仅是一个库,它是打开数据大门的钥匙!用上它,就像有了一台自动挖掘机,只要你指明方向,它就能帮你深挖出宝藏!
🔍 ScrapeGraphAI用上了超先进的大型语言模型和直接图逻辑,不管是网站还是本地的XML、HTML、JSON文档,统统都能搞定!
💬告诉它你的需求,剩下的就交给ScrapeGraphAI吧!它就像你的个人数据助理,智能、高效、精准,让你的数据提取工作变得轻松又简单。
🔥 快来试试ScrapeGraphAI,让你的数据提取工作飞起来!告别繁琐,迎接效率,就在此刻!#技术改变生活 #数据提取神器 🚀🌟
二、环境
在开始使用ScrapeGraphAI之前,确保你的开发环境已经准备就绪是至关重要的。以下是一些基本步骤,用于设置一个支持这些工具和库的完整开发环境。
-
安装Ollama和Mistral模型:
使用Ollama的专用命令行工具来下载所需的模型。例如,使用以下命令来安装Mistral模型:ollama pull mistral ollama pull nomic-embed-text
-
设置Python虚拟环境:
使用Python的venv
模块创建一个虚拟环境,以隔离项目依赖。这可以通过以下命令完成:python -m venv venv
-
激活虚拟环境:
在Windows系统上,使用以下命令激活虚拟环境:.\venv\Scripts\activate
而在Unix或MacOS系统上,使用:
source venv/bin/activate
-
安装必要的Python包:
使用pip安装scrapegraphai
库,这可能是与Ollama或Mistral交互所需的:pip install scrapegraphai
-
安装Playwright:
Playwright是一个Node.js库,用于自动化Chromium、Firefox和WebKit。如果需要进行浏览器自动化测试或生成,确保安装Playwright:playwright install
完成以上步骤后,你的开发环境应该已经配置好,可以开始使用Ollama、Mistral和其他相关工具进行开发和测试。
三、实例
ScrapeGraphAI提供了三种主要的抓取管道:
- SmartScraperGraph:用于单页网站的抓取,用户只需提供提示和输入源。
- SearchGraph:用于多页网站的抓取,能够从搜索引擎结果中提取信息。
- SpeechGraph:从网站提取信息并生成音频文件。
- SmartScraperMultiGraph:多页网站的抓取,适用于更复杂的场景。
这些管道可以与不同的LLM(Large Language Model)API一起使用,包括OpenAI、Groq、Azure和Gemini,或者使用Ollama的本地模型。
以下是使用ScrapeGraphAI的SmartScraperGraph的一个例子:
from scrapegraphai.graphs import SmartScraperGraphgraph_config = {"llm": {"model": "ollama/mistral","temperature": 0,"format": "json", # Ollama 需要显式指定格式"base_url": "http://localhost:11434", # 设置 Ollama URL},"embeddings": {"model": "ollama/nomic-embed-text","base_url": "http://localhost:11434", # 设置 Ollama URL},"verbose": True,
}smart_scraper_graph = SmartScraperGraph(prompt="List me all the projects with their descriptions",# 也接受已下载的 HTML 代码的字符串source="https://perinim.github.io/projects", config=graph_config
)result = smart_scraper_graph.run()
print(result)
这段Python代码使用了scrapegraphai
库中的SmartScraperGraph
类来创建一个智能的数据抓取流程。下面是对代码的逐行解释:
from scrapegraphai.graphs import SmartScraperGraph
这行代码从scrapegraphai
库中导入SmartScraperGraph
类,这个类是用于构建和运行数据抓取图的。
graph_config = {# ... configuration settings ...
}
这里定义了一个字典graph_config
,它包含了用于配置智能抓取图的设置。这些设置包括使用的LLM(Large Language Model,大型语言模型)模型、嵌入模型、以及其他参数。
"llm": {# ... LLM specific configurations ...
},
这部分是LLM模型的配置,包括模型名称、温度参数(影响生成结果的随机性)、输出格式,以及Ollama模型服务的URL。
"embeddings": {# ... embeddings specific configurations ...
},
这部分是嵌入模型的配置,指定了嵌入模型的名称和模型服务的URL。
"verbose": True,
这个设置开启详细模式,意味着在抓取过程中会打印更多的日志信息。
smart_scraper_graph = SmartScraperGraph(prompt="List me all the projects with their descriptions",source="https://perinim.github.io/projects", config=graph_config
)
这行代码创建了SmartScraperGraph
的一个实例。初始化时传入了抓取的提示(prompt),要抓取的网页源(source),以及前面定义的配置(config)。
result = smart_scraper_graph.run()
调用run
方法来执行智能抓取图,执行完成后,抓取结果会被存储在变量result
中。
print(result)
最后,打印出抓取结果,这样我们就可以看到从指定网页抓取的项目及其描述。
需要注意的是,代码中的source
参数是一个URL,指向需要抓取的网页。如果网页无法访问或解析失败,可能是因为网络问题、URL错误、或者网页结构变化导致抓取失败。如果用户需要解析特定网页,应确保网页链接的有效性,并在必要时检查网络连接或重试。如果不需要解析网页,代码仍然可以执行,但result
将不会包含预期的数据。
美女镇楼