
    fi                     \    d Z ddlmZ ddlmZ ddlZddlZ G d d          Ze	dk    rdS dS )u4   
Date: 2019/11/10 22:52
Desc: 数据接口源代码
    )partial)parseNc                   ,    e Zd ZdZdZddZd	dZd ZdS )
DataApi zhttps://api.qhkch.com
   c                 "    || _         || _        dS )u   
        初始化函数
        :param token: API接口TOKEN，用于用户认证
        :type token: str
        :param timeout: 超时设置
        :type timeout: int
        N)_DataApi__token_DataApi__timeout)selftokentimeouts      =/usr/local/lib/python3.11/dist-packages/akshare/pro/client.py__init__zDataApi.__init__   s          c                    d| j         i}t          j        | j        d                    |g|                                                    }t          j        ||| j                  }|j	        dk    rt          d          |                                }|dk    rJ	 t          j        |          S # t          $ r( t          j                            |d|g          }|cY S w xY w|d	k    rt          j                    }	||                                         D ]>}
t          j        ||         |
                   }|
|d
<   |	                    |d          }	?|	                    dd           |	S t          j        ||                   S )u8  
        :param api_name: 需要调取的接口
        :type api_name: str
        :param fields: 想要获取的字段
        :type fields: str
        :param kwargs: 指定需要输入的参数
        :type kwargs: 键值对
        :return: 指定的数据
        :rtype: dict or pandas.DataFrame
        zX-Token/)headersr      uL   连接异常, 请检查您的Token是否过期和输入的参数是否正确r   index)orientcolumnsvariety_all_positionscodeT)ignore_index)inplacedrop)r
   r   urljoin_DataApi__http_urljoinvaluesrequestsgetr   status_code	Exceptionjsonpd	DataFrame
ValueError	from_dictkeysappendreset_index)r   api_namefieldskwargsr   urlres	data_json	result_dfbig_dfitemtemp_dfs               r   queryzDataApi.query   s    t|
 mDOSXXx6R&--//6R-S-STTl3HHH?c!!jkkkHHJJ	R<<!|I... ! ! !L22gz 3  	 !   	! 222%f-2244 G GD l9V+<T+BCCG&*GFO#]]7]FFFF""4d";;;|If$5666s   B1 1/C#"C#c                 ,    t          | j        |          S )N)r   r8   )r   names     r   __getattr__zDataApi.__getattr__E   s    tz4(((r   N)r   )r   )__name__
__module____qualname__r
   r   r   r8   r;    r   r   r   r      sV        G(J	! 	! 	! 	!%7 %7 %7 %7N) ) ) ) )r   r   __main__)
__doc__	functoolsr   urllibr   pandasr'   r"   r   r<   r?   r   r   <module>rE      s    
                 7) 7) 7) 7) 7) 7) 7) 7)t zD r   