Dify之插件开发之Crawl4ai 爬虫(简单逻辑实现)

背景:

前面2篇已经大致介绍了Dify插件开发及插件授权校验,这篇我们将基于Crawl4ai实现输入网址和网址路径过滤,输出符合条件的页面URL集合的简单爬虫

材料:

1、完备的开发环境

2、预安装Crawl4ai环境(Installation - Crawl4AI Documentation (v0.7.x)

制作:

编写代码:

1、在 tools 目录下面创建一个Crawl4ai爬虫的实现核心逻辑deep_crawl_example.py

1.1、实现如下逻辑

async def deep_crawl_url(url, uRLPatternFilter):   
    async with AsyncWebCrawler() as crawler:
        # Start crawling and follow links dynamically
        results = await crawler.arun(url, config=config)

        # 使用正则表达式提取所有链接
        def extract_links(results, uRLPatternFilter):
            """从HTML中提取所有链接"""

            returnlinks = [
                link for link in results[0].links['internal']
                if str(link['href']).endswith(('.htm', '.html')) and
                any(keyword in str(link).lower()
                    for keyword in uRLPatternFilter)
            ]
            # return list(set(all_urls))  # 去重
            return returnlinks

        links = extract_links(results, uRLPatternFilter)

        print(f"Discovered and crawled {len(links)} pages")
    return links

本函数通过输入url,uRLPatternFilter 2个参数简单实现了Cawl4ai 爬取网站页面内容并从众多URL中根据uRLPatternFilter 条件过滤出符合条件的URL。

1.2、await crawler.arun(url, config=config) 中的config 函数的实现如下

# Configure a 2-level deep crawl
config = CrawlerRunConfig(
    deep_crawl_strategy=BFSDeepCrawlStrategy(
        max_depth=0,           # Crawl 2 levels deep
        include_external=False,  # Stay within domain
        max_pages=50,           # Limit for efficiency
        filter_chain=filter_chain
    ),
    verbose=True
)

说明:该参数的配置请参阅官方文档(Browser, Crawler & LLM Config - Crawl4AI Documentation (v0.7.x)

1.3、上面CrawlerRunConfig 配置中涉及到的过滤链函数filter_chain 实现逻辑如下:

# Create a sophisticated filter chain
filte
适合人群:本课程适合编程初学者、AI爱好者、IT转型者、产品经理、高校学生、创业者及中小企业主等,以及对Dify平台感兴趣的各界专业人士。通过系统学习,你将会学到:学员将从0基础开始,逐步学习并掌握Dify开发技能,包括模型配置、应用管理、工作流编排等学员将从0基础开始,逐步学习并掌握Dify开发技能,包括模型配置、应用管理、工作流编排等核心功能。通过课程的学习,学员将能够独立完成Dify应用的开发,提升个人在智能化应用开发领域的竞争力。课程包含丰富的实战案例,学员将通过实际操作,了解如何在实际业务场景中部署Dify应用。学员将学习如何构建智能客服系统、企业知识库等实际应用,积累宝贵的实战经验,为未来的职业发展打下坚实基课程将帮助学员建立敏锐的市场洞察力,发掘潜在的职业机会,为未来的职业发展创造更多可能性。课程简介:Dify平台基础入门平台概述:介绍Dify平台的背景、特点、应用场景及优势。安装与配置:详细讲解Dify平台的安装步骤、配置方法以及常见问题的解决方法。界面导航:引导学员熟悉Dify平台的界面布局、菜单栏、工具栏、工作区及状态栏等功能区域。核心功能解析多语言模型集成:介绍Dify平台如何兼容并集成主流AI语言模型,如OpenAI GPT-4/GPT-3.5、Anthropic Claude、Google Gemini等。Prompt工程:深入讲解Prompt的概念、作用及优化方法,帮助学员提高AI交互效果。数据处理与分析:展示如何利用Dify平台的数据处理功能,包括数据导入、清洗、转换及可视化等。实战操作与案例分析对话型AI应用构建:通过实际案例,演示如何创建对话型AI应用,包括设置对话流程、配置Prompt、测试与迭代等步骤。文本生成工具开发:指导学员开发文本生成工具,如自动生成博客文章、产品描述、社交媒体文案等。智能客服系统搭建:分析智能客服系统的应用场景,教授学员如何搭建并优化智能客服系统,提高响应效率。高级应用技巧与拓展自定义函数与脚本编写:教授学员如何编写自定义函数或脚本,以实现特定功能的自动化处理。协同工作与版本控制:介绍Dify平台的协同工作功能,以及如何利用版本控制功能管理项目历史版本。API扩展与业务集成:讲解如何将Dify平台创建的AI应用发布为API,或嵌入到Web页面中实现业务集成。实战项目演练项目选题与需求分析:引导学员进行项目选题,并进行需求分析,明确项目目标和要求。项目设计与实施:指导学员进行项目设计,包括选择AI模型、配置Prompt、搭建应用框架等,并实施项目开发。项目测试与优化:教授学员如何进行项目测试,包括功能测试、性能测试等,并根据测试结果进行优化。未来趋势与职业发展AI应用开发趋势分析:分析AI应用开发领域的未来发展趋势,帮助学员把握行业脉搏。职业规划与能力提升:为学员提供职业规划建议,以及提升AI应用开发能力的方法和途径。通过本课程的学习,学员将能够全面掌握Dify平台的使用技巧,具备独立开发AI应用的能力,并在实战中不断提升自己的专业技能和创新思维。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值