• 智能爬虫ScrapeGraphAI尝鲜


    ScrapeGraphAI是一个创新的Python库,它融合了大型语言模型(LLM)和直接图逻辑,为用户提供了一种高效的方法,用于构建针对网站、文档和XML文件的爬虫流水线。以下是关于ScrapeGraphAI的详细介绍:

    一、核心特点

    1. 智能化
      • ScrapeGraphAI能够智能地将用户的需求转化为有效的爬取策略,利用先进的自然语言处理技术和图形结构,自动识别和解析网页元素,以提取所需信息。
      • 它支持多种交互方式,包括Ollama、Docker、OpenAI模型、Groq、Azure以及Gemini等,确保在各种环境下都能灵活运作。
    2. 易用性
      • 提供了简洁的API设计,允许用户通过简单的指令来实现复杂的网页数据抽取任务。
      • 详尽的文档和示例,助力用户快速学习和应用。
    3. 灵活性
      • 支持多种大型语言模型和运行环境,如GPT、Gemini、Groq、Azure等,以及本地模型。
      • 提供了多种抓取管道,如SmartScraperGraph(用于单页网站抓取)、SearchGraph(用于多页网站抓取)、SpeechGraph(从网站提取信息并生成音频文件)等,满足不同场景的需求。
    4. 可扩展性
      • 易于整合新的数据源和解析策略,随着技术的发展和用户需求的变化,ScrapeGraphAI能够持续进化。

    二、应用场景

    ScrapeGraphAI可以在多个领域发挥作用,包括但不限于:

    • 自动化数据收集:如市场趋势分析、竞争对手监控等。
    • 网站维护和更新:定期检查页面变化,确保网站内容的准确性和时效性。
    • 内容管理系统的填充:自动导入结构化信息,提高内容管理效率。
    • 学术研究:从在线资源中抓取相关文献信息,为学术研究提供数据支持。

    三、安装与配置

    要使用ScrapeGraphAI,用户需要按照以下步骤进行安装和配置:

    1、安装Python环境:确保您的计算机上已安装Python,版本>3.8。

    2、创建虚拟环境:使用Python的venv模块创建一个虚拟环境,以隔离项目依赖。

    1. conda create -n Scrapegraph python=3.10 -y
    2. conda activate Scrapegraph

            ​​

    3、安装ScrapeGraphAI:使用pip命令安装ScrapeGraphAI库和Playwright。

    1. pip install pytest-playwright
    2. pip install scrapegraphai
    3. playwright install

    4、配置LLM模型:根据需要配置LLM模型,包括模型名称、温度参数、输出格式等。

    本文中采用ollama模型,如何安装请参考网上的教程。

    编写抓取脚本:使用ScrapeGraphAI提供的API编写抓取脚本,指定要抓取的网页和数据类型。

    四、示例代码

    以下是一个使用ScrapeGraphAI的SmartScraperGraph类的示例代码,希望抓取csdn博文的关键信息:

    1. from scrapegraphai.graphs import SmartScraperGraph
    2. graph_config = {
    3. "llm": {
    4. "model": "ollama/qwen2:7b",
    5. "temperature": 0,
    6. "format": "json", # Ollama needs the format to be specified explicitly
    7. "base_url": "http://10.33.19.16:11434", # set Ollama URL
    8. },
    9. "embeddings": {
    10. "model": "ollama/quentinz/bge-large-zh-v1.5:lates",
    11. "base_url": "http://10.33.19.16:11434", # set Ollama URL
    12. },
    13. "verbose": True,
    14. }
    15. smart_scraper_graph = SmartScraperGraph(
    16. prompt="获取文章的标题、作者、发布时间、阅读量、点赞数、收藏数",
    17. # also accepts a string with the already downloaded HTML code
    18. source="https://blog.csdn.net/m0_59235945/article/details/140333596",
    19. config=graph_config
    20. )
    21. result = smart_scraper_graph.run()
    22. print(result)

    运行结果如下(通过json格式输出):

    原始博文如下:

    对比发现,该工具很多属性都解析错误了,而且最大的问题就是它将原文内容进行了润色翻译,导致严重失真。所以该工具的实用场景有待进一步论证,总体来讲,还有很多无法解决的问题。

  • 相关阅读:
    《深入理解BigDecimal:揭秘钱财计算的核心技术》
    vue统一登录
    超写实数字人小灿加入,助力火山语音全类型虚拟数字人应用创新
    Linux操作-4之stat, find, xargs命令
    补充d2l.torch库里面缺失train_ch3函数
    【微信小程序 | 实战开发】ES5、ES6概述和新特性介绍
    Flutter:WebSocket封装-实现心跳、重连机制
    【逆向专题】【危!!!刑】(一)使用c#+Win32Api实现进程注入到wechat
    基于JAVA医院预约挂号系统计算机毕业设计源码+系统+mysql数据库+lw文档+部署
    【电磁】基于Matlab实现理想圆柱形电流片的精确磁场
  • 原文地址:https://blog.csdn.net/mopmgerg54mo/article/details/141028116