
    fi$                        d Z ddlmZ ddlZddlZddlmZ ddlm	Z	 dde
dej        fd	Z	 	 dde
de
fdZdde
dej        fdZdde
dej        fdZdde
dej        fdZdej        fdZedk    rs ed          Z ee            ed          Z ee            ed          Z ee            ed          Z ee            e            Z ee           dS dS )u   
Date: 2024/5/10 00:00
Desc: 新浪财经-龙虎榜
https://vip.stock.finance.sina.com.cn/q/go.php/vInvestConsult/kind/lhb/index.phtml
    )StringION)BeautifulSoup)get_tqdm20240222datereturnc                    d                     | dd         | dd         | dd         g          } d}d| i}t          j        ||          }t          |j        d	          }|                    d
ddi                              dddi          }t          j                    }|D ]}t          j	        t          |                                          dd          d         }t          j	        t          |                                                    d         j        d         }	|	|d<   t          j        ||gd          }|d                             t                    j                            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<   |S ) u   
    龙虎榜-每日详情
    https://vip.stock.finance.sina.com.cn/q/go.php/vInvestConsult/kind/lhb/index.phtml
    :param date: 交易日
    :type date: str
    :return: 龙虎榜-每日详情
    :rtype: pandas.DataFrame
    -N      zRhttps://vip.stock.finance.sina.com.cn/q/go.php/vInvestConsult/kind/lhb/index.phtml	tradedateparamslxmlfeaturesdivclasslist)nameattrstable
list_tabler      )headerskiprows)r   r      指标Tobjsignore_index   股票代码u   查看详情)u   序号r!      股票名称	   收盘价	   对应值	   成交量	   成交额r   r#   coerceerrorsr$   r%   r&   )joinrequestsgetr   textfindfind_allpd	DataFrame	read_htmlr   prettifyiatconcatastypestrzfillcolumns
to_numeric)
r   urlr   rsoupselected_htmlbig_dfr   temp_dftemp_symbols
             O/usr/local/lib/python3.11/dist-packages/akshare/stock_feature/stock_lhb_sina.pystock_lhb_detail_daily_sinarC      s    88T"1"XtAaCy$qrr(344D
^C4 FS(((A&111DII5&0AIBBKKWl3 L  M \^^F F F,x(8(899!aPPPQRSl8ENN,<,<#=#=>>qAEdK' 1EEE#N3::3??CII!LLF>~	 	 	FN -{(;HMMMF;-{(;HMMMF;-{(;HMMMF;-{(;HMMMF;M    Mhttps://vip.stock.finance.sina.com.cn/q/go.php/vLHBData/kind/ggtj/index.phtml60r;   
recent_dayc                    |dd}t          j        | |          }t          |j        d          }	 t	          |                    ddi          d         j                  }n	#  d	}Y nxY w|d	k    rl	 ||d}t          j        | |          }t          |j        d          }t	          |                    ddi          d         j                  }||k    r|}k	 |S )N1lastpr   r   r   pager   r   Tr   )r+   r,   r   r-   intr/   )r;   rG   r   r<   r=   previous_page	last_pages          rB   _find_last_pagerS   <   s   
  F 	S(((A((DDMM&0AMBB2FKLL	"" F S000A &999DDMM&0AMBB2FKLLIM)) )s   0A# #A)5symbolc                    d}t          ||           }t          j                    }t                      } |t	          d|dz             d          D ]r}| |d}t          j        ||          }t          j        t          |j	                            d         j
        ddddf         }t          j        ||gd	
          }s|d                             t                    j                            d          |d<   g d|_        |S )uF  
    龙虎榜-个股上榜统计
    https://vip.stock.finance.sina.com.cn/q/go.php/vLHBData/kind/ggtj/index.phtml
    :param symbol: choice of {"5": 最近 5 天; "10": 最近 10 天; "30": 最近 30 天; "60": 最近 60 天;}
    :type symbol: str
    :return: 龙虎榜-个股上榜统计
    :rtype: pandas.DataFrame
    rE   r   FleaverJ   r   r   NTr   r!   r   )r!   r"      上榜次数   累积购买额   累积卖出额   净额   买入席位数   卖出席位数)rS   r0   r1   r   ranger+   r,   r2   r   r-   ilocr5   r6   r7   r8   r9   	rU   r;   last_page_numr?   tqdmrM   r   r<   r@   s	            rB   stock_lhb_ggtj_sinard   [   s    	X  $C00M\^^F::DU1ma/00>>> F F
 
 LV,,,,x//0038QQQ? 1EEE#N3::3??CII!LLF>	 	 	FN MrD   c                 Z   d}t          ||           }t          j                    }t                      } |t	          d|dz             d          D ]r}d|d}t          j        ||          }t          j        t          |j	                            d         j
        dd	d	d	f         }t          j        ||gd
          }sg d|_        t          j        |d         d          |d<   t          j        |d         d          |d<   t          j        |d         d          |d<   |S )uL  
    龙虎榜-营业部上榜统计
    https://vip.stock.finance.sina.com.cn/q/go.php/vLHBData/kind/yytj/index.phtml
    :param symbol: choice of {"5": 最近 5 天; "10": 最近 10 天; "30": 最近 30 天; "60": 最近 60 天;}
    :type symbol: str
    :return: 龙虎榜-营业部上榜统计
    :rtype: pandas.DataFrame
    zMhttps://vip.stock.finance.sina.com.cn/q/go.php/vLHBData/kind/yytj/index.phtmlr   FrW   rT   rJ   r   r   NT)r    )u   营业部名称rY   rZ   r]   r[   r^   u   买入前三股票rY   r'   r(   r]   r^   )rS   r0   r1   r   r_   r+   r,   r2   r   r-   r`   r5   r9   r:   ra   s	            rB   stock_lhb_yytj_sinarf      sP    	X  $C00M\^^F::DU1ma/00>>> A A
 
 LV,,,,x//0038QQQ?FG,4@@@  FN  ]6.+A(SSSF> "f5F.GPX Y Y YF "f5F.GPX Y Y YFMrD   c                    d}t          ||           }t          j                    }t                      } |t	          d|dz             d          D ]z}| |d}t          j        ||          }t          j        t          |j	                            d         j
        ddddf         }|j        rbt          j        ||gd	
          }{|d                             t                    j                            d          |d<   |d= |d= g d|_        t          j        |d         d          |d<   t          j        |d         d          |d<   |S )uF  
    龙虎榜-机构席位追踪
    https://vip.stock.finance.sina.com.cn/q/go.php/vLHBData/kind/jgzz/index.phtml
    :param symbol: choice of {"5": 最近 5 天; "10": 最近 10 天; "30": 最近 30 天; "60": 最近 60 天;}
    :type symbol: str
    :return: 龙虎榜-机构席位追踪
    :rtype: pandas.DataFrame
    zMhttps://vip.stock.finance.sina.com.cn/q/go.php/vLHBData/kind/jgzz/index.phtmlr   FrW   rJ   r   r   NTr   r!   r   u	   当前价u	   涨跌幅)r!   r"   u   累积买入额   买入次数r[      卖出次数r\   rh   r'   r(   ri   )rS   r0   r1   r   r_   r+   r,   r2   r   r-   r`   emptyr5   r6   r7   r8   r9   r:   ra   s	            rB   stock_lhb_jgzz_sinark      sw    	X  $C00M\^^F::DU1ma/00>>> 	F 	F
 
 LV,,,,x//0038QQQ?= 	 1EEE#N3::3??CII!LLF>{{  FN  ]6.+A(SSSF>]6.+A(SSSF>MrD   c                     d} ddi}t          j        | |          }t          |j        d          }	 t	          |                    ddi	          d
         j                  }n	#  d}Y nxY wt          j                    }t                      } |t          d|dz             d          D ]q}d|i}t          j        | |          }t          j
        t          |j                            d         j        ddddf         }t          j        ||gd          }r|d                             t                    j                            d          |d<   t          j        |d         d          j        j        |d<   |                    dddd           t          j        |d         d          |d<   t          j        |d         d          |d<   |S )u   
    龙虎榜-机构席位成交明细
    https://vip.stock.finance.sina.com.cn/q/go.php/vLHBData/kind/jgmx/index.phtml
    :return: 龙虎榜-机构席位成交明细
    :rtype: pandas.DataFrame
    zMhttps://vip.stock.finance.sina.com.cn/q/go.php/vLHBData/kind/jgmx/index.phtmlrL   rI   r   r   r   r   rM   rN   rO   r   FrW   r   NTr   r!   r   u   交易日期r'   r(   u   机构席位买入额u   机构席位卖出额)u   机构席位买入额(万)u   机构席位卖出额(万))r9   inplace)r+   r,   r   r-   rP   r/   r0   r1   r   r_   r2   r   r`   r5   r6   r7   r8   to_datetimedtr   renamer:   )	r;   r   r<   r=   rb   r?   rc   rM   r@   s	            rB   stock_lhb_jgmx_sinarq      s    	X  	SF 	S(((A&111DDMM&0AMBB2FKLL\^^F::DU1ma/00>>> F F
 LV,,,,x//0038QQQ? 1EEE#N3::3??CII!LLF>^F>,B8TTTW\F>
MM*A*A
 
      ')mF;R4S\d&e&e&eF"#&(mF;R4S\d&e&e&eF"#Ms   0A% %A+__main__)r   )rU   )r   )rE   rF   )rT   )__doc__ior   pandasr0   r+   bs4r   akshare.utils.tqdmr   r7   r1   rC   rS   rd   rf   rk   rq   __name__stock_lhb_detail_daily_sina_dfprintstock_lhb_ggtj_sina_dfstock_lhb_yytj_sina_dfstock_lhb_jgzz_sina_dfstock_lhb_jgmx_sina_df rD   rB   <module>r      s#                     ' ' ' ' ' '' 'c '2< ' ' ' 'V _ 	   >" " "bl " " " "J# # #bl # # # #L' ' 'bl ' ' ' 'T'R\ ' ' ' 'T z%@%@j%Q%Q%Q"	E
()))00<<<	E
 !!!00<<<	E
 !!!00<<<	E
 !!!0022	E
 !!!!! rD   