
    fiG                        d Z ddlZddlmZ ddlZddlZddlmZ  e            dej	        fd            Z
dej	        fdZdd	edej	        fd
Z	 	 	 	 	 dd	edededededej	        fdZ	 d d	ededej	        fdZdd	edej	        fdZedk    rx e            Z ee            ed          Z ee            eddddd          Z ee            edd          Z ee            ed          Z ee           dS dS )!u   
Date: 2025/3/10 19:30
Desc: 东方财富-沪深板块-行业板块
https://quote.eastmoney.com/center/boardlist.html#industry_board
    N)	lru_cache)fetch_paginated_datareturnc                  Z   d} ddddddddddd	
}t          | |          }g d
|_        |g d         }t          j        |d         d          |d<   t          j        |d         d          |d<   t          j        |d         d          |d<   t          j        |d         d          |d<   t          j        |d         d          |d<   t          j        |d         d          |d<   t          j        |d         d          |d<   t          j        |d         d          |d<   |S u   
    东方财富网-沪深板块-行业板块-名称
    https://quote.eastmoney.com/center/boardlist.html#industry_board
    :return: 行业板块-名称
    :rtype: pandas.DataFrame
    z/https://17.push2.eastmoney.com/api/qt/clist/get1100 bd1d9ddb04089700cf9c27f6f74262812f3zm:90 t:2 f:!50zf1,f2,f3,f4,f5,f6,f7,f8,f9,f10,f12,f13,f14,f15,f16,f17,f18,f20,f21,f23,f24,f25,f26,f22,f33,f11,f62,f128,f136,f115,f152,f124,f107,f104,f105,f140,f141,f207,f208,f209,f222
pnpzponputflttinvtfidfsfields)*   排名-	   最新价	   涨跌幅	   涨跌额r   _r   	   换手率r   r   r      板块代码r      板块名称r   r   r   r   	   总市值r   r   r   r   r   r   r   r      上涨家数   下跌家数r   r   r      领涨股票r   r      领涨股票-涨跌幅r   r   r   r   r   )r   r    r   r   r   r   r!   r   r"   r#   r$   r%   r   coerceerrorsr   r   r!   r   r"   r#   r%   r   columnspd
to_numericurlparamstemp_dfs      P/usr/local/lib/python3.11/dist-packages/akshare/stock/stock_board_industry_em.py__stock_board_industry_name_emr2      sw    <C0( F #3//G+ + +GOX 	
 	
 	
G  =)=hOOOGK=)=hOOOGK=)=hOOOGK=)=hOOOGK=)=hOOOGK mGN,CHUUUGN mGN,CHUUUGN(*()() ) )G$% N    c                  Z   d} ddddddddddd	
}t          | |          }g d
|_        |g d         }t          j        |d         d          |d<   t          j        |d         d          |d<   t          j        |d         d          |d<   t          j        |d         d          |d<   t          j        |d         d          |d<   t          j        |d         d          |d<   t          j        |d         d          |d<   t          j        |d         d          |d<   |S r   r)   r-   s      r1   stock_board_industry_name_emr5   s   sw    <C0( F #3//G+ + +GOX 	
 	
 	
G  =)=hOOOGK=)=hOOOGK=)=hOOOGK=)=hOOOGK=)=hOOOGK mGN,CHUUUGN mGN,CHUUUGN(*()() ) )G$% Nr3   	   小金属symbolc                    d}dddddddd	d
dd
}t          j        d|           r| }n4t                      }|                    d          d         j        d         }t          d                    |                                          dddd|           }t          j	        ||          }|
                                }t          j                            |d         d          }|                    |d           |                    d           ddg|_        t          j        |d         d !          |d<   |d         d"z  |d<   |j        d#         d$z  |j        d#<   |j        d%         d$z  |j        d%<   |S )&u   
    东方财富网-沪深板块-行业板块-实时行情
    https://quote.eastmoney.com/bk/90.BK1027.html
    :param symbol: 板块名称 or 东财板块代码
    :type symbol: str
    :return: 实时行情
    :rtype: pandas.DataFrame
    z/https://91.push2.eastmoney.com/api/qt/stock/getu   最新   最高   最低   开盘	   成交量	   成交额r      振幅r   r   )
f43f44f45f46f47f48f170f171f168f169^BK\d+patternstring   板块名称 == @symbolr   r   ,1000r   r   90.)r   mpir   r   secidr/   dataindex)orientT)inplaceitemvaluer&   r'   g{Gz?)      g      Y@)   r[   )rematchr2   queryvaluesdictjoinkeysrequestsgetjsonr+   	DataFrame	from_dictrenamereset_indexr*   r,   iloc)	r7   r.   	field_mapem_codeindustry_listingr/   r	data_dictresults	            r1   stock_board_industry_spot_emrr      s    <C I 
x	&111 ^9;;"(()BCCNSZ[\]xx	(())Goo  F 	S(((AI\##If$5g#FFF
MM)TM***
t$$$g&FNmF7OHEEEF7O Wo,F7OD)C/FKD)C/FKMr3   2021120120220401   日k 
start_dateend_dateperiodadjustc           
      ,   t          j        d|           r| }n4t                      }|                    d          d         j        d         }dddd	}d
ddd}d}	d| dd||         ||         ||ddd	}
t          j        |	|
          }|                                }t          j	        d |d         d         D                       }g d|_
        |g d         }t          j        |d         d          |d<   t          j        |d         d          |d<   t          j        |d         d          |d<   t          j        |d          d          |d <   t          j        |d!         d          |d!<   t          j        |d"         d          |d"<   t          j        |d#         d          |d#<   t          j        |d$         d          |d$<   t          j        |d%         d          |d%<   t          j        |d&         d          |d&<   |S )'u  
    东方财富网-沪深板块-行业板块-历史行情
    https://quote.eastmoney.com/bk/90.BK1027.html
    :param symbol: 板块名称
    :type symbol: str
    :param start_date: 开始时间
    :type start_date: str
    :param end_date: 结束时间
    :type end_date: str
    :param period: 周期; choice of {"日k", "周k", "月k"}
    :type period: str
    :param adjust: choice of {'': 不复权, "qfq": 前复权, "hfq": 后复权}
    :type adjust: str
    :return: 历史行情
    :rtype: pandas.DataFrame
    rI   rJ   rM   r   r   101102103)ru   u   周ku   月k0r   r   )rv   qfqhfqz6http://7.push2his.eastmoney.com/api/qt/stock/kline/getrP   f1,f2,f3,f4,f5,f6+f51,f52,f53,f54,f55,f56,f57,f58,f59,f60,f61100001000000	rR   fields1fields2kltfqtbegendsmplmtlmtrS   c                 8    g | ]}|                     d           S rN   split.0rX   s     r1   
<listcomp>z0stock_board_industry_hist_em.<locals>.<listcomp>5  s"    TTTDJJsOOTTTr3   rT   klines)   日期r;      收盘r9   r:   r<   r=   r>   r   r   r   )r   r;   r   r9   r:   r   r   r<   r=   r>   r   r;   r&   r'   r   r9   r:   r   r   r<   r=   r>   r   r]   r^   r2   r_   r`   rd   re   rf   r+   rg   r*   r,   )r7   rw   rx   ry   rz   rm   rn   
period_map
adjust_mapr.   r/   ro   	data_jsonr0   s                 r1   stock_board_industry_hist_emr     s_   . 
x	&111 ^9;;"(()BCCNSZ[\] J
 #c22J
BC w&@&!&!
 
F 	S(((AIlTT	&8I(8STTTUUG  GO 	
 	
 	
G gh&7IIIGHgh&7IIIGHgh&7IIIGHgh&7IIIGH=)=hOOOGK=)=hOOOGK=)=hOOOGK=)=hOOOGKgh&7IIIGH=)=hOOOGKNr3   5c           
         t          j        d|           r| }n4t                      }|                    d          d         j        d         }|dk    rEd}dd	d
dd| d}t          j        ||          }|                                }t          j	        d |d         d         D                       }g d|_
        t          j        |d         d          |d<   t          j        |d         d          |d<   t          j        |d         d          |d<   t          j        |d         d          |d<   t          j        |d         d          |d<   t          j        |d         d          |d<   t          j        |d         d          |d<   |S d}d| dd|dd
ddd d!	}t          j        ||          }|                                }t          j	        d" |d         d#         D                       }g d$|_
        |g d%         }t          j        |d         d          |d<   t          j        |d         d          |d<   t          j        |d         d          |d<   t          j        |d         d          |d<   t          j        |d&         d          |d&<   t          j        |d'         d          |d'<   t          j        |d         d          |d<   t          j        |d         d          |d<   t          j        |d(         d          |d(<   t          j        |d)         d          |d)<   |S )*u;  
    东方财富网-沪深板块-行业板块-分时历史行情
    https://quote.eastmoney.com/bk/90.BK1027.html
    :param symbol: 板块名称
    :type symbol: str
    :param period: choice of {"1", "5", "15", "30", "60"}
    :type period: str
    :return: 分时历史行情
    :rtype: pandas.DataFrame
    rI   rJ   rM   r   r   r   z7https://push2his.eastmoney.com/api/qt/stock/trends2/getz*f1,f2,f3,f4,f5,f6,f7,f8,f9,f10,f11,f12,f13zf51,f52,f53,f54,f55,f56,f57,f58r   rP   )r   r   iscrndaysrR   rS   c                 8    g | ]}|                     d           S r   r   r   s     r1   r   z4stock_board_industry_hist_min_em.<locals>.<listcomp>}  "    EEETZZ__EEEr3   rT   trends)   日期时间r;   r   r9   r:   r<   r=   r   r;   r&   r'   r   r9   r:   r<   r=   r   z7https://7.push2his.eastmoney.com/api/qt/stock/kline/getr   r   20500101r   r   r   c                 8    g | ]}|                     d           S r   r   r   s     r1   r   z4stock_board_industry_hist_min_em.<locals>.<listcomp>  r   r3   r   )r   r;   r   r9   r:   r<   r=   r>   r   r   r   )r   r;   r   r9   r:   r   r   r<   r=   r>   r   r   r   r>   r   r   )	r7   ry   rm   rn   r.   r/   ro   r   r0   s	            r1    stock_board_industry_hist_min_emr   _  s    
x	&111 ^9;;"(()BCCNSZ[\]}}GC8$7__
 
 LV,,,FFHH	,EE6):8)DEEE
 
	
 	
 	
 M'(*;HMMMM'(*;HMMMM'(*;HMMMM'(*;HMMM!}W[-A(SSS!}W[-A(SSS!}W[-A(SSSG$7__*D

 

 LV,,,FFHH	,EE6):8)DEEE
 

 
 
   
 M'(*;HMMMM'(*;HMMMM'(*;HMMMM'(*;HMMM!}W[-A(SSS!}W[-A(SSS!}W[-A(SSS!}W[-A(SSSM'(*;HMMM!}W[-A(SSSr3   c                 ,   t          j        d|           r| }n1t                      }||d         | k             d         j        d         }d}ddddd	d
d
dd| ddd
}t	          ||          }g d|_        |g d         }t          j        |d         d          |d<   t          j        |d         d          |d<   t          j        |d         d          |d<   t          j        |d         d          |d<   t          j        |d         d          |d<   t          j        |d         d          |d<   t          j        |d         d          |d<   t          j        |d         d          |d<   t          j        |d         d          |d<   t          j        |d         d          |d<   t          j        |d         d          |d<   t          j        |d         d          |d<   t          j        |d          d          |d <   |S )!u   
    东方财富网-沪深板块-行业板块-板块成份
    https://data.eastmoney.com/bkzj/BK1027.html
    :param symbol: 板块名称或者板块代码
    :type symbol: str
    :return: 板块成份
    :rtype: pandas.DataFrame
    rI   rJ   r    r   r   z/https://29.push2.eastmoney.com/api/qt/clist/getr   r	   r
   r   r   zb:z f:!50zrf1,f2,f3,f4,f5,f6,f7,f8,f9,f10,f12,f13,f14,f15,f16,f17,f18,f20,f21,f23,f24,f25,f22,f11,f62,f128,f136,f115,f152,f45r   )!   序号r   r   r   r   r<   r=   r>   r      市盈率-动态r   r      代码r      名称r9   r:      今开   昨收r   r   r   	   市净率r   r   r   r   r   r   r   r   r   r   )r   r   r   r   r   r   r<   r=   r>   r9   r:   r   r   r   r   r   r   r&   r'   r   r   r<   r=   r>   r9   r:   r   r   r   r   r   )r]   r^   r2   r`   r   r*   r+   r,   )r7   stock_board_codestock_board_concept_em_mapr.   r/   r0   s         r1   stock_board_industry_cons_emr     si    
x	&111 $!%C%E%E"5&~6&@

 $ <C0+#+++: F #3//G" " "GOF 	
 	
 	
G( =)=hOOOGK=)=hOOOGK=)=hOOOGK=)=hOOOGK=)=hOOOGKgh&7IIIGHgh&7IIIGHgh&7IIIGHgh&7IIIGHgh&7IIIGH=)=hOOOGK"$-8J0KT\"]"]"]G=)=hOOOGKNr3   __main__)r7   20240222)r7   rw   rx   ry   rz   r   )r7   ry   u   互联网服务)r6   )r6   rs   rt   ru   rv   )r6   r   )__doc__r]   	functoolsr   pandasr+   rd   akshare.utils.funcr   rg   r2   r5   strrr   r   r   r   __name__stock_board_industry_name_em_dfprintstock_board_industry_spot_em_dfstock_board_industry_hist_em_df#stock_board_industry_hist_min_em_dfstock_board_industry_cons_em_df r3   r1   <module>r      s    
			            3 3 3 3 3 3 ] ] ] ] ]@]bl ] ] ] ]@/ / /r| / / / /f  W WWW W 	W
 W \W W W Wv .1k kk'*k\k k k k\c c cr| c c c cL z&B&B&D&D#	E
)***&B&B+&V&V&V#	E
)***&B&B' ' '# 
E
)****J*J3+ + +' 
E
-...&B&BJ[&\&\&\#	E
)*****- r3   