FSA食品警报API的python包装
food-alerts-wrapper的Python项目详细描述
食品安全局食品警报API Python包装
这是一个用于FSA Food Alerts API的Python包装器,其目的是使与API的交互更加简单,以便开发人员能够集中精力处理和分析它提供的数据。在
这个python3包装器是使用requests包创建的。它将HTTP请求的细节抽象出来,这样用户就可以与API数据进行交互。通过使用包装器,开发人员只需调用直观的函数,例如getAlerts()
和{
这些函数还解析HTTP响应,因此用户可以简单地作为Python对象访问响应数据。在
示例
fromfoodAlertsAPIimportfoodAlertsAPIf=foodAlertsAPI()yearAgo=(datetime.now()-timedelta(days=365)).isoformat()alerts=f.getAlerts(yearAgo)allergenCounts=defaultdict(int)alert:Alert# type hinting for code completionforalertinalerts:allergens=alert.allergenLabels()forallergeninallergens:allergenCounts[allergen]+=1# get the 10 most frequently occurring allergenssortedAllergens=[(k,v)fork,vinsorted(allergenCounts.items(),key=lambdaitem:item[1],reverse=True)][:10]labels=[kfor(k,v)insortedAllergens]heights=[vfork,vinsortedAllergens]plt.bar(labels,heights,color="green")plt.xticks(rotation="vertical")plt.title("10 Most Common Allergens in the Past Year")plt.tight_layout()plt.show()
上面的例子描绘了过去一年警报中10种最常见的过敏原的柱状图。整个数据采集和解析只使用getAlerts()
和allergenLabels()
完成,代码简洁易读。在
文件摘要
包装器中最重要的两个类是foodAlertsAPI
和{
foodAlertsAPI
方法:
getAlert(ID)
根据其符号获取特定警报,例如(FSA-AA-01-2018)
参数
- ID(字符串)–警报ID
返回
警报对象
加薪
ValueError–当提供的符号值无效时发生
getAlerts(quantifier=None, detailed=False, limit=None, offset=None, sortBy=None, filters={})
从FSA食品警报API获取警报
参数
- 在
quantifier–量词可以是int n,在这种情况下,函数返回最后n个警报。量词也可以是ISO格式的日期字符串,在这种情况下,函数返回自给定日期以来发布的警报
在 - 在
detailed(bool,可选)–确定返回的警报对象是否包含所有属性。当设置为false时,只包括摘要属性。如果未指定,则默认为False
在 - 在
limit(int,可选)–指定可返回的警报对象的最大数量
在 - 在
offset(int,可选)–返回以第n项开始的项列表,加上limit,这将允许分页处理一组较长的结果
在 - 在
sortBy(string,可选)–按给定属性(或属性链)的升序重新排列结果列表。要按降序排序,请使用sortBy=-prop。可以包含多个排序,在这种情况下,它们将按顺序应用
在 - 在
filters(dict,可选)–基于警报对象属性的过滤器,例如{“type”:“AA”}
在
返回
警报对象的列表
加薪
ValueError–当提供的限定符或可选参数的值无效时发生
searchAlerts(query, detailed=False, limit=None, offset=None, sortBy=None, filters={})
在FSA食品警报API的警报中搜索查询
参数
- 在
query(string)–搜索查询
在 - 在
detailed(bool,可选)–确定返回的警报对象是否包含所有属性。当设置为false时,只包括摘要属性。如果未指定,则默认为False
在 - 在
limit(int,可选)–指定可返回的警报对象的最大数量
在 - 在
offset(int,可选)–返回以第n项开始的项列表,加上limit,这将允许分页处理一组较长的结果
在 - 在
sortBy(string,可选)–按给定属性(或属性链)的升序重新排列结果列表。要按降序排序,请使用sortBy=-prop。可以包含多个排序,在这种情况下,它们将按顺序应用
在 - 在
filters(dict,可选)–基于al的过滤器ert对象属性,例如{“type”:“AA”}
在
返回
警报对象列表
加薪
ValueError–在为查询或可选参数提供无效值时发生
警报
方法:
id()
返回
(字符串)要在FSA页中发出警报的url,与alertURL属性相同。在
title()
返回
(字符串)警报标题
modified()
返回
(字符串)上次以ISO格式修改警报的日期时间
notation()
返回
(字符串)中使用的警报的唯一标识符foodAlertsAPI.foodAlertsAPI.foodAlertsAPIgetAlert()函数
type()
返回
(字符串)“AA”、“FAFA”或“PRIN”之一
- 项目
标签: