
    fi&                     r   d Z ddlZddlZddlmZ ddlZddlZddlmZ ddl	m
Z
mZmZmZmZmZmZ defdZdej        fdZddededej        fdZedk    r_ ed	d          Z ee            ed	d          Z ee            ed	d          Z ee            e            Z ee           dS dS )u~   
Date: 2023/7/6 19:28
Desc: 新浪财经-科创板-实时行情数据和历史行情数据(包含前复权和后复权因子)
    N)demjson)tqdm)zh_sina_kcb_stock_payloadzh_sina_kcb_stock_urlzh_sina_kcb_stock_count_urlzh_sina_kcb_stock_hist_urlzh_sina_kcb_stock_hfq_urlzh_sina_kcb_stock_qfq_urlzh_sina_kcb_stock_amount_urlreturnc                  
   t          j        t                    } t          t	          j        t	          j        d          | j                  d                   dz  }t          |t                    r|S t          |          dz   S )u   
    所有股票的总页数
    https://vip.stock.finance.sina.com.cn/mkt/#hs_a
    :return: 所有股票的总页数
    :rtype: int
    z\d+r   P      )	requestsgetr   intrefindallcompiletext
isinstance)res
page_counts     J/usr/local/lib/python3.11/dist-packages/akshare/stock/stock_zh_kcb_sina.pyget_zh_kcb_page_countr      sl     ,2
3
3CRZ
6 2 2CH==a@AABFJ*c"" #:""    c                     t          j                    } t                      }t          j                    }t          t          d|dz             d          D ]}|                    d|i           |                    ddi           t          j	        t          |          }t          j        |j                  }t          j        | t          j        |          gd          } g d	| _        | g d
         } t          j        | d                   | d<   t          j        | d                   | d<   t          j        | d                   | d<   t          j        | d                   | d<   t          j        | d                   | d<   t          j        | d                   | d<   t          j        | d                   | d<   t          j        | d                   | d<   t          j        | d                   | d<   t          j        | d                   | d<   t          j        | d                   | d<   t          j        | d                   | d<   t          j        | d                   | d<   t          j        | d                   | d<   t          j        | d                   | d<   t          j        | d                   | d<   | S )u   
    新浪财经-科创板实时行情数据, 大量抓取容易封IP
    https://vip.stock.finance.sina.com.cn/mkt/#kcb
    :return: 科创板实时行情数据
    :rtype: pandas.DataFrame
    r   F)leavepage_s_r_a)paramsT)ignore_index)   代码-   名称	   最新价	   涨跌额	   涨跌幅   买入   卖出   昨收   今开   最高   最低	   成交量	   成交额   时点	   市盈率	   市净率   流通市值	   总市值	   换手率)r#   r%   r&   r'   r(   r)   r*   r+   r,   r-   r.   r/   r0   r1   r2   r3   r4   r5   r6   r&   r'   r(   r)   r*   r+   r,   r-   r.   r/   r0   r2   r3   r4   r5   r6   )pd	DataFramer   r   copyr   rangeupdater   r   r   r   decoder   concatcolumns
to_numeric)big_dfr   zh_sina_stock_payload_copyr   r   	data_jsons         r   stock_zh_kcb_spotrC   *   s    \^^F&((J!:!?!A!AU1j1n--U;;; Q Q"))64.999"))8V*<===l09STTTN38,,	FBL$;$;<4PPP  FN, 	
 	
 	
F0 -{(;<<F;-{(;<<F;-{(;<<F;}VH%566F8}VH%566F8}VH%566F8}VH%566F8}VH%566F8}VH%566F8-{(;<<F;-{(;<<F;-{(;<<F;-{(;<<F;]6.+ABBF>-{(;<<F;-{(;<<F;Mr   sh688399 symboladjustc                    t          j        t          j        | t          j                                                            d          |                     }t          j        |j	        |j	        
                    d          |j	                            d          dz                      }t          j        |          }t          j        |d                   |_        d|j        _        |d= t          j        t#          j        | |                     }t          j        |j	        |j	        
                    d          |j	                            d          dz                      }t          j        |          }t          j        |j                  |_        |d= t          j        ||ddd	          }	 |                    d
           nP# t*          $ rC 	 |                    dd           n'# t*          $ r}	t/          d|	           Y d}	~	nd}	~	ww xY wY nw xY w|                    t2                    }|d         dz  |d<   |d         |d         z  |d<   g d|_        |s?|                    d
           t          j        |d                   j        j        |d<   |S |dk    rt          j        t;          j        |                     }t          j        t=          |j	                            d          d                             d          d                   d                   }
ddg|
_        t          j        |
j                  |
_        |
d= t          j        ||
ddd	          }	 |                    d
           nP# t*          $ rC 	 |                    dd           n'# t*          $ r}	t/          d|	           Y d}	~	nd}	~	ww xY wY nw xY w|                    t2                    }|d         |d         z  |d<   |d         |d         z  |d<   |d         |d         z  |d<   |d         |d         z  |d<   |j         ddddf         }|                    d
           t          j        |d                   j        j        |d<   |S |dk    rt          j        tC          j        |                     }t          j        t=          |j	                            d          d                             d          d                   d                   }dd g|_        t          j        |j                  |_        |d= t          j        ||ddd	          }	 |                    d
           nP# t*          $ rC 	 |                    dd           n'# t*          $ r}	t/          d|	           Y d}	~	nd}	~	ww xY wY nw xY w|                    t2                    }|d         |d          z  |d<   |d         |d          z  |d<   |d         |d          z  |d<   |d         |d          z  |d<   |j         ddddf         }|                    d
           t          j        |d                   j        j        |d<   |S |d!k    rt          j        t;          j        |                     }t          j        t=          |j	                            d          d                             d          d                   d                   }
ddg|
_        t          j        |
j                  |
_        |
d= |
                    d
           t          j        |
d                   j        j        |
d<   |
S |d"k    rt          j        tC          j        |                     }t          j        t=          |j	                            d          d                             d          d                   d                   }dd g|_        t          j        |j                  |_        |d= |                    d
           t          j        |d                   j        j        |d<   |S dS )#u	  
    新浪财经-科创板股票的历史行情数据, 大量抓取容易封IP
    https://finance.sina.com.cn/realstock/company/sh688005/nc.shtml
    :param symbol: 股票代码; 带市场标识的股票代码
    :type symbol: str
    :param adjust: 默认不复权的数据; qfq: 返回前复权后的数据; hfq: 返回后复权后的数据; hfq-factor: 返回后复权因子; qfq-factor: 返回前复权因子
    :type adjust: str
    :return: 科创板股票的历史行情数据
    :rtype: pandas.DataFrame
    z%Y_%m_%d[]r   ddateTleft)
left_indexright_indexhow)inplaceffill)methodrQ   zError:Namounti'  vturnover)	openhighlowclosevolumeafter_volumeafter_amountoutstanding_sharerV   hfq=
r   data
hfq_factorrW   rX   rZ   rY   qfq
qfq_factorz
hfq-factor
qfq-factor)"r   r   r   formatdatetimenowstrftimer   r<   r   findrfindr7   r8   to_datetimeindexnamer   rL   mergerR   	Exceptionfillnaprintastypefloatr>   reset_indexdtr	   evalsplitilocr
   )rF   rG   r   rB   data_dframount_data_jsonamount_data_dftemp_dfehfq_factor_dfqfq_factor_dfs               r   stock_zh_kcb_dailyr   {   s`    ,")H%))++44Z@@&	
 	
 C
 sxc(:(:SX^^C=P=PST=T(TUVVIl9%%GN73<00GMGM18HHIIA~afQV[[-=-=S@Q@QTU@U-U&VWW\"233N>.*=>>NvhDd  Gd####   	NN'4N8888 	 	 	(A		 nnU##G)E1GH!#,)::GJ
 
 
GO  D))).99<Al4;FCCDD$$Q'--d33A677?
 
 "( 6 n]-?@@&!(]t6
 
 
	#MM$M'''' 	# 	# 	##gt<<<< # # #h""""""""#		# ..''!&/GL,AA!&/GL,AA"7+gl.CC ',*??,qqq#2#v&D))).99<Al4;FCCDD$$Q'--d33A677?
 
 "( 6 n]-?@@&!(]t6
 
 
	#MM$M'''' 	# 	# 	##gt<<<< # # #h""""""""#		# ..''!&/GL,AA!&/GL,AA"7+gl.CC ',*??,qqq#2#v&D))).99<Al4;FCCDD$$Q'--d33A677?
 
 "( 6 n]-?@@&!!!$!/// "}V/D E E H Mfl4;FCCDD$$Q'--d33A677?
 
 "( 6 n]-?@@&!!!$!/// "}V/D E E H Mf s   8G 
HG21H2
H<HHHHH4N 
ON.-O.
O8OOOOO&U= =
W
V W
 
W*V?:W
?WW
	W
__main__re   )rF   rG   r_   rg   )rD   rE   )__doc__ri   r   akshare.utilsr   pandasr7   r   r   akshare.stock.consr   r   r   r   r	   r
   r   r   r   r8   rC   strr   __name__stock_zh_kcb_daily_qfq_dfrt   stock_zh_kcb_daily_hfq_dfstock_zh_kcb_daily_dfstock_zh_kcb_spot_df r   r   <module>r      s   
  				 ! ! ! ! ! !                            #s # # # #N2< N N N NbO Os O Obl O O O Od z 2 2*U S S S	E
#$$$ 2 2*U S S S	E
#$$$..jVVV	E
   ,,..	E
 r   