跳转到主要内容

KAMIS Open-API 非官方 Python 客户端

项目描述

KAMIS Open-API的非官方 Python 客户端。

请阅读以下 API 文档:

https://www.kamis.or.kr/customer/reference/openapi_list.do

要求

免责声明

此项目是 Spoqa 提供的 KAMIS Open-API 非官方 Python 客户端。不保证所有 KAMIS Open-API API 的支持和功能。

支持的 API 列表

Kamispy 尚未正式发布,正在根据内部需求添加支持的 API。截至 2020 年 12 月 9 日,支持的 API 列表如下。

  • 按日按商品类别查看批发和零售价格信息

  • 最近日期的商品批发和零售价格信息

此外,目前尚未支持的 API 列表如下。

  • 按日按类别查看批发和零售价格信息

  • 按月查看批发和零售价格信息

  • 按年查看批发和零售价格信息

  • 环保农产品价格信息

  • 按商品查看最近价格趋势

  • 按商品查看月平均价格趋势

  • 按商品查看年平均价格趋势

  • 按商品查看最近日期的按地区批发和零售价格信息

  • 按商品类别查看环保农产品价格信息

  • 环保农产品价格信息

  • 按商品类别查看环保农产品价格信息

  • 按地区和商品类别查看批发和零售价格信息

执行方法

客户端初始化方法

客户端可以如下初始化。将 cert_key 参数设置为 KAMIS Open-API 认证密钥,将 cert_id 参数设置为 KAMIS 网站账户 ID。

>>> from kamis.client import CertificationPair, KamisOpenApi
>>> client = KamisOpenApi(
...     CertificationPair(cert_key='test', cert_id='test')
... )

API 执行示例

以下是一个运行‘最近日期的道.零售价格信息(以商品为基准)API’的示例。在初始化的客户端中,执行daily_sales_list函数。要执行的函数名称与各个API的action参数的名称相同。

>>> daily_sales_list = client.daily_sales_list()
>>> daily_sales_list.result_code
<ResultCode.SUCCESS: '000'>
>>> daily_sales_list.prices[0]
PriceResponse(product_class=<ProductClass.RETAIL: '01'>, category_code='100', category_name='식량작물', productno='272', latest_date=datetime.date(2020, 10, 16), product_name='쌀/일반계', item_name='쌀/일반계', unit='20kg', date_price_dict=OrderedDict([('당일', 55094), ('1일전', 55053), ('1개월전', 52723), ('1년전', 51034)]), direction_type=<Direction.INCREASE: '1'>, direction_value=0.1)
>>> daily_sales_list.prices[1]
PriceResponse(product_class=<ProductClass.RETAIL: '01'>, category_code='100', category_name='식량작물', productno='273', latest_date=datetime.date(2020, 10, 16), product_name='쌀/햇일반계', item_name='쌀/햇일반계', unit='20kg', date_price_dict=OrderedDict([('당일', 58887), ('1일전', 58939), ('1개월전', None), ('1년전', 53015)]), direction_type=<Direction.DECREASE: '0'>, direction_value=0.1)

带有参数的API执行示例

以下是一个运行‘每日商品道.零售价格信息API’的示例。

此API除了认证信息外还需要额外的参数。在这种情况下,可以在kamis.models子目录下对应的API模块内部定义一个可以容纳这些参数的Parameters类。

>>> from kamis.models.period_product_list import Parameters
>>> import datetime
>>> params = Parameters(
...     date_range=(
...         datetime.date(2020, 10, 21), datetime.date(2020, 10, 22)
...     ),
...     product_class=None,
...     item_category_code="100",
...     item_code="111",
...     kind_code"01",
...     product_rank_code="04",
...     country=None,
...     convert_kg=None
... )

创建参数,然后像前一个示例一样在客户端执行相应的API函数。

>>> period_product_list = client.period_product_list(params)
>>> period_product_list.data.result_code
<ResultCode.SUCCESS: '000'>
>>> period_product_list.data.items[0]
ItemResponse(item_name=None, kind_name=None, county_name='평균', market_name=None, reg_date=datetime.date(2020, 10, 21), price_=54520)
>>> period_product_list.data.items[1]
ItemResponse(item_name=None, kind_name=None, county_name='평균', market_name=None, reg_date=datetime.date(2020, 10, 22), price_=54520)
>>> period_product_list.data.items[4]
ItemResponse(item_name='쌀', kind_name='일반계(20kg)', county_name='서울', market_name='양곡도매', reg_date=datetime.date(2020, 10, 21), price_=53300)

项目详情


下载文件

下载适用于您平台的文件。如果您不确定要选择哪一个,请了解有关安装包的更多信息。

源分发

kamispy-0.1.3.tar.gz (9.7 kB 查看哈希值)

上传时间

构建分发

kamispy-0.1.3-py2.py3-none-any.whl (10.5 kB 查看哈希值)

上传时间 Python 2 Python 3

由以下提供支持