首页
/ Recipe-Scrapers 15.8.0版本发布:大规模新增解析器与功能优化

Recipe-Scrapers 15.8.0版本发布:大规模新增解析器与功能优化

2025-06-25 08:58:48作者:翟萌耘Ralph

项目简介

Recipe-Scrapers是一个开源的Python库,专门用于从各种食谱网站提取结构化数据。它通过提供统一的接口,让开发者能够轻松获取食谱的标题、配料、步骤、营养成分等信息,极大简化了食谱数据的采集和处理流程。该项目支持数百个食谱网站,是食品技术、健康应用和智能厨房等领域的重要工具。

版本亮点

15.8.0版本是Recipe-Scrapers的一个重要更新,主要带来了以下改进:

  1. 大规模新增解析器:新增了超过20个食谱网站的解析支持,包括ToriAvey、TheSpiceTrain、BakerbyNature等知名美食博客
  2. 现有解析器优化:对多个已有解析器进行了功能增强,改进了分组、设备信息和图片提取等
  3. 核心功能改进:包括产量处理、饮食名称格式化等基础功能的优化
  4. 代码质量提升:进行了大量测试用例更新和代码清理工作

新增解析器详解

本次更新新增了对以下网站的解析支持:

  1. 主流美食博客

    • ToriAvey:专注于中东和地中海美食
    • TheFirstMess:植物基食谱专家
    • BakerbyNature:专业烘焙食谱
    • ACozyKitchen:家庭风格舒适食物
  2. 区域性美食网站

    • PanlasangPinoy:菲律宾传统美食
    • PilipinasRecipes:菲律宾家常菜
    • xiachufang:中文食谱平台下厨房
  3. 特色饮食网站

    • TheOldWomanAndTheSea:海鲜料理专精
    • NaturallyElla:自然健康饮食
    • ThisHealthyTable:健康平衡膳食

这些新增解析器覆盖了从专业厨师到家庭主妇的各种食谱来源,大大扩展了库的应用场景。

核心功能改进

  1. 产量处理优化

    • 改进了get_yields方法对浮点数的处理
    • 现在能更准确地解析食谱的份量信息
  2. 饮食标签格式化

    • 更新了format_diet_name辅助函数
    • 标准化了各种饮食类型(如素食、无麸质等)的命名
  3. 设备信息提取

    • 重构了设备提取逻辑
    • 优化了WordPress食谱插件(WPRM)的设备信息解析
  4. 分组功能增强

    • 多个解析器增加了对配料分组的支持
    • 实现了更结构化的食谱数据输出

代码质量提升

  1. 测试覆盖

    • 更新了大量测试用例
    • 确保新增功能和修改的稳定性
  2. 代码清理

    • 移除了不必要的分组代码
    • 优化了多个解析器的实现逻辑
  3. 文档改进

    • 在README中添加了可用抓取函数的链接
    • 使开发者能更直观地了解可获取的数据点

技术实现细节

  1. 解析器架构

    • 每个网站解析器继承自AbstractScraper基类
    • 通过重写特定方法实现定制化解析逻辑
  2. 数据提取策略

    • 主要采用CSS选择器和JSON-LD解析
    • 对于复杂站点实现了混合解析策略
  3. 异常处理

    • 增强了各种边缘情况的处理
    • 确保解析失败时有合理的回退机制

应用场景

  1. 食谱管理应用:可以轻松导入各种来源的食谱
  2. 饮食分析工具:获取结构化数据用于营养分析
  3. 智能厨房系统:为烹饪设备提供标准化的食谱输入
  4. 美食推荐引擎:收集大量食谱数据用于个性化推荐

升级建议

对于现有用户,建议:

  1. 检查是否有使用本次更新中优化的解析器
  2. 测试get_yields等方法的返回值处理
  3. 考虑使用新增的饮食标签格式化功能
  4. 评估是否需要使用新增解析器的数据

未来展望

Recipe-Scrapers项目持续活跃发展,未来可能会:

  1. 增加更多区域性小众食谱网站支持
  2. 增强多语言处理能力
  3. 提供更丰富的营养数据解析
  4. 优化大容量抓取的性能

15.8.0版本的发布再次证明了Recipe-Scrapers作为食谱数据抓取标准工具的地位,为开发者提供了更强大、更可靠的工具集。

登录后查看全文
热门项目推荐

热门内容推荐

最新内容推荐

项目优选

收起
docsdocs
OpenHarmony documentation | OpenHarmony开发者文档
Dockerfile
139
1.91 K
kernelkernel
deepin linux kernel
C
22
6
nop-entropynop-entropy
Nop Platform 2.0是基于可逆计算理论实现的采用面向语言编程范式的新一代低代码开发平台,包含基于全新原理从零开始研发的GraphQL引擎、ORM引擎、工作流引擎、报表引擎、规则引擎、批处理引引擎等完整设计。nop-entropy是它的后端部分,采用java语言实现,可选择集成Spring框架或者Quarkus框架。中小企业可以免费商用
Java
8
0
ohos_react_nativeohos_react_native
React Native鸿蒙化仓库
C++
192
273
RuoYi-Vue3RuoYi-Vue3
🎉 (RuoYi)官方仓库 基于SpringBoot,Spring Security,JWT,Vue3 & Vite、Element Plus 的前后端分离权限管理系统
Vue
923
551
openHiTLSopenHiTLS
旨在打造算法先进、性能卓越、高效敏捷、安全可靠的密码套件,通过轻量级、可剪裁的软件技术架构满足各行业不同场景的多样化要求,让密码技术应用更简单,同时探索后量子等先进算法创新实践,构建密码前沿技术底座!
C
421
392
openGauss-serveropenGauss-server
openGauss kernel ~ openGauss is an open source relational database management system
C++
145
189
金融AI编程实战金融AI编程实战
为非计算机科班出身 (例如财经类高校金融学院) 同学量身定制,新手友好,让学生以亲身实践开源开发的方式,学会使用计算机自动化自己的科研/创新工作。案例以量化投资为主线,涉及 Bash、Python、SQL、BI、AI 等全技术栈,培养面向未来的数智化人才 (如数据工程师、数据分析师、数据科学家、数据决策者、量化投资人)。
Jupyter Notebook
74
64
Cangjie-ExamplesCangjie-Examples
本仓将收集和展示高质量的仓颉示例代码,欢迎大家投稿,让全世界看到您的妙趣设计,也让更多人通过您的编码理解和喜爱仓颉语言。
Cangjie
344
1.3 K
easy-eseasy-es
Elasticsearch 国内Top1 elasticsearch搜索引擎框架es ORM框架,索引全自动智能托管,如丝般顺滑,与Mybatis-plus一致的API,屏蔽语言差异,开发者只需要会MySQL语法即可完成对Es的相关操作,零额外学习成本.底层采用RestHighLevelClient,兼具低码,易用,易拓展等特性,支持es独有的高亮,权重,分词,Geo,嵌套,父子类型等功能...
Java
36
8