tushare-mcp-server 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +148 -0
- package/README_CN.md +146 -0
- package/bin/cli.js +88 -0
- package/build_index.py +159 -0
- package/crawl_docs.py +321 -0
- package/docs/0019_/345/237/272/351/207/221/345/210/227/350/241/250.md +75 -0
- package/docs/0025_/350/202/241/347/245/250/345/210/227/350/241/250.md +95 -0
- package/docs/0026_/344/272/244/346/230/223/346/227/245/345/216/206.md +73 -0
- package/docs/0027_/345/216/206/345/217/262/346/227/245/347/272/277.md +81 -0
- package/docs/0028_/345/244/215/346/235/203/345/233/240/345/255/220.md +79 -0
- package/docs/0032_/346/257/217/346/227/245/346/214/207/346/240/207.md +89 -0
- package/docs/0033_/345/210/251/346/266/246/350/241/250.md +168 -0
- package/docs/0036_/350/265/204/344/272/247/350/264/237/345/200/272/350/241/250.md +234 -0
- package/docs/0044_/347/216/260/351/207/221/346/265/201/351/207/217/350/241/250.md +174 -0
- package/docs/0045_/344/270/232/347/273/251/351/242/204/345/221/212.md +85 -0
- package/docs/0046_/344/270/232/347/273/251/345/277/253/346/212/245.md +86 -0
- package/docs/0047_/346/262/252/346/267/261/346/270/257/351/200/232/350/265/204/351/207/221/346/265/201/345/220/221.md +75 -0
- package/docs/0048_/346/262/252/346/267/261/350/202/241/351/200/232/345/215/201/345/244/247/346/210/220/344/272/244/350/202/241.md +81 -0
- package/docs/0049_/346/270/257/350/202/241/351/200/232/345/215/201/345/244/247/346/210/220/344/272/244/350/202/241.md +129 -0
- package/docs/0058_/350/236/215/350/265/204/350/236/215/345/210/270/344/272/244/346/230/223/346/261/207/346/200/273.md +85 -0
- package/docs/0059_/350/236/215/350/265/204/350/236/215/345/210/270/344/272/244/346/230/223/346/230/216/347/273/206.md +128 -0
- package/docs/0061_/345/211/215/345/215/201/345/244/247/350/202/241/344/270/234.md +68 -0
- package/docs/0062_/345/211/215/345/215/201/345/244/247/346/265/201/351/200/232/350/202/241/344/270/234.md +68 -0
- package/docs/0079_/350/264/242/345/212/241/346/214/207/346/240/207/346/225/260/346/215/256.md +227 -0
- package/docs/0080_/350/264/242/345/212/241/345/256/241/350/256/241/346/204/217/350/247/201.md +60 -0
- package/docs/0081_/344/270/273/350/220/245/344/270/232/345/212/241/346/236/204/346/210/220.md +64 -0
- package/docs/0094_/346/214/207/346/225/260/345/237/272/346/234/254/344/277/241/346/201/257.md +107 -0
- package/docs/0095_/346/214/207/346/225/260/346/227/245/347/272/277/350/241/214/346/203/205.md +78 -0
- package/docs/0096_/346/214/207/346/225/260/346/210/220/345/210/206/345/222/214/346/235/203/351/207/215.md +59 -0
- package/docs/0100_/350/202/241/347/245/250/346/233/276/347/224/250/345/220/215.md +52 -0
- package/docs/0103_/345/210/206/347/272/242/351/200/201/350/202/241/346/225/260/346/215/256.md +72 -0
- package/docs/0106_/351/276/231/350/231/216/346/246/234/346/257/217/346/227/245/347/273/237/350/256/241.md +143 -0
- package/docs/0107_/351/276/231/350/231/216/346/246/234/346/234/272/346/236/204/344/272/244/346/230/223.md +75 -0
- package/docs/0109_/351/200/232/347/224/250/350/241/214/346/203/205/346/216/245/345/217/243.md +118 -0
- package/docs/0110_/350/202/241/346/235/203/350/264/250/346/212/274/347/273/237/350/256/241.md +72 -0
- package/docs/0111_/350/202/241/346/235/203/350/264/250/346/212/274/346/230/216/347/273/206.md +69 -0
- package/docs/0112_/344/270/212/345/270/202/345/205/254/345/217/270/345/237/272/346/234/254/344/277/241/346/201/257.md +77 -0
- package/docs/0118_/345/237/272/351/207/221/347/256/241/347/220/206/344/272/272.md +67 -0
- package/docs/0119_/345/237/272/351/207/221/345/207/200/345/200/274.md +63 -0
- package/docs/0120_/345/237/272/351/207/221/345/210/206/347/272/242.md +76 -0
- package/docs/0121_/345/237/272/351/207/221/346/214/201/344/273/223.md +76 -0
- package/docs/0123_IPO/346/226/260/350/202/241/344/270/212/345/270/202.md +81 -0
- package/docs/0124_/350/202/241/347/245/250/345/233/236/350/264/255.md +79 -0
- package/docs/0127_ETF/346/227/245/347/272/277/350/241/214/346/203/205.md +66 -0
- package/docs/0128_/345/244/247/347/233/230/346/214/207/346/225/260/346/257/217/346/227/245/346/214/207/346/240/207.md +66 -0
- package/docs/0135_/346/234/237/350/264/247/345/220/210/347/272/246/344/277/241/346/201/257.md +80 -0
- package/docs/0137_/346/234/237/350/264/247/344/272/244/346/230/223/346/227/245/345/216/206.md +113 -0
- package/docs/0138_/346/234/237/350/264/247/346/227/245/347/272/277/350/241/214/346/203/205.md +131 -0
- package/docs/0139_/346/234/237/350/264/247/346/257/217/346/227/245/346/214/201/344/273/223/346/216/222/345/220/215.md +98 -0
- package/docs/0140_/346/234/237/350/264/247/344/273/223/345/215/225/346/227/245/346/212/245.md +83 -0
- package/docs/0141_/346/234/237/350/264/247/346/257/217/346/227/245/347/273/223/347/256/227/345/217/202/346/225/260.md +123 -0
- package/docs/0143_/346/226/260/351/227/273/345/277/253/350/256/257.md +71 -0
- package/docs/0144_/345/221/250/347/272/277/350/241/214/346/203/205.md +108 -0
- package/docs/0145_/346/234/210/347/272/277/350/241/214/346/203/205.md +106 -0
- package/docs/0146_/345/244/215/346/235/203/350/241/214/346/203/205.md +68 -0
- package/docs/0149_Shibor/345/210/251/347/216/207.md +92 -0
- package/docs/0150_Shibor/346/212/245/344/273/267/346/225/260/346/215/256.md +112 -0
- package/docs/0151_LPR/350/264/267/346/254/276/345/237/272/347/241/200/345/210/251/347/216/207.md +84 -0
- package/docs/0152_Libor/345/210/251/347/216/207.md +108 -0
- package/docs/0153_Hibor/345/210/251/347/216/207.md +107 -0
- package/docs/0154_/346/226/260/351/227/273/350/201/224/346/222/255/346/226/207/345/255/227/347/250/277.md +61 -0
- package/docs/0155_/345/215/227/345/215/216/346/234/237/350/264/247/346/214/207/346/225/260/350/241/214/346/203/205.md +146 -0
- package/docs/0158_/346/234/237/346/235/203/345/220/210/347/272/246/344/277/241/346/201/257.md +82 -0
- package/docs/0159_/346/234/237/346/235/203/346/227/245/347/272/277/350/241/214/346/203/205.md +80 -0
- package/docs/0160_/351/231/220/345/224/256/350/202/241/350/247/243/347/246/201.md +107 -0
- package/docs/0161_/345/244/247/345/256/227/344/272/244/346/230/223.md +102 -0
- package/docs/0162_/350/264/242/346/212/245/346/212/253/351/234/262/346/227/245/346/234/237/350/241/250.md +66 -0
- package/docs/0166_/350/202/241/344/270/234/344/272/272/346/225/260.md +73 -0
- package/docs/0170_/344/270/252/350/202/241/350/265/204/351/207/221/346/265/201/345/220/221.md +130 -0
- package/docs/0171_/346/214/207/346/225/260/345/221/250/347/272/277/350/241/214/346/203/205.md +100 -0
- package/docs/0172_/346/214/207/346/225/260/346/234/210/347/272/277/350/241/214/346/203/205.md +104 -0
- package/docs/0173_/346/270/251/345/267/236/346/260/221/351/227/264/345/200/237/350/264/267/345/210/251/347/216/207.md +114 -0
- package/docs/0175_/350/202/241/344/270/234/345/242/236/345/207/217/346/214/201.md +99 -0
- package/docs/0176_/344/270/212/345/270/202/345/205/254/345/217/270/345/205/254/345/221/212.md +70 -0
- package/docs/0178_/345/244/226/346/261/207/345/237/272/347/241/200/344/277/241/346/201/257.md +92 -0
- package/docs/0179_/345/244/226/346/261/207/346/227/245/347/272/277/350/241/214/346/203/205.md +113 -0
- package/docs/0181_/347/224/263/344/270/207/350/241/214/344/270/232/345/210/206/347/261/273.md +600 -0
- package/docs/0183_/346/257/217/346/227/245/346/266/250/350/267/214/345/201/234/344/273/267/346/240/274.md +85 -0
- package/docs/0185_/345/217/257/350/275/254/345/200/272/345/237/272/347/241/200/344/277/241/346/201/257.md +83 -0
- package/docs/0186_/345/217/257/350/275/254/345/200/272/345/217/221/350/241/214.md +105 -0
- package/docs/0187_/345/217/257/350/275/254/345/200/272/350/241/214/346/203/205.md +115 -0
- package/docs/0188_/346/262/252/346/267/261/350/202/241/351/200/232/346/214/201/350/202/241/346/230/216/347/273/206.md +77 -0
- package/docs/0189_/346/234/237/350/264/247/344/270/273/345/212/233/344/270/216/350/277/236/347/273/255/345/220/210/347/272/246.md +80 -0
- package/docs/0191_/346/270/257/350/202/241/345/237/272/347/241/200/344/277/241/346/201/257.md +90 -0
- package/docs/0192_/346/270/257/350/202/241/346/227/245/347/272/277/350/241/214/346/203/205.md +91 -0
- package/docs/0193_/344/270/212/345/270/202/345/205/254/345/217/270/347/256/241/347/220/206/345/261/202.md +95 -0
- package/docs/0194_/347/256/241/347/220/206/345/261/202/350/226/252/351/205/254/345/222/214/346/214/201/350/202/241.md +82 -0
- package/docs/0195_/346/226/260/351/227/273/351/200/232/350/256/257/351/225/277/347/257/207.md +70 -0
- package/docs/0196_/346/270/257/350/202/241/351/200/232/346/257/217/346/227/245/346/210/220/344/272/244/347/273/237/350/256/241.md +89 -0
- package/docs/0197_/346/270/257/350/202/241/351/200/232/346/257/217/346/234/210/346/210/220/344/272/244/347/273/237/350/256/241.md +89 -0
- package/docs/0199_ETF/345/244/215/346/235/203/345/233/240/345/255/220.md +69 -0
- package/docs/0201_/345/233/275/345/200/272/346/224/266/347/233/212/347/216/207/346/233/262/347/272/277.md +74 -0
- package/docs/0207_/345/237/272/351/207/221/350/247/204/346/250/241.md +75 -0
- package/docs/0208_/345/237/272/351/207/221/347/273/217/347/220/206.md +74 -0
- package/docs/0211_/345/233/275/351/231/205/344/270/273/350/246/201/346/214/207/346/225/260.md +125 -0
- package/docs/0214_/346/257/217/346/227/245/345/201/234/345/244/215/347/211/214/344/277/241/346/201/257.md +74 -0
- package/docs/0215_/346/262/252/346/267/261/345/270/202/345/234/272/346/257/217/346/227/245/344/272/244/346/230/223/347/273/237/350/256/241.md +121 -0
- package/docs/0219_/347/276/216/345/233/275/345/233/275/345/200/272/346/224/266/347/233/212/347/216/207/346/233/262/347/272/277.md +82 -0
- package/docs/0227_/345/233/275/345/206/205/347/224/237/344/272/247/346/200/273/345/200/274GDP.md +77 -0
- package/docs/0228_/345/261/205/346/260/221/346/266/210/350/264/271/344/273/267/346/240/274/346/214/207/346/225/260CPI.md +84 -0
- package/docs/0242_/350/264/247/345/270/201/344/276/233/345/272/224/351/207/217/346/234/210.md +71 -0
- package/docs/0245_/345/267/245/344/270/232/347/224/237/344/272/247/350/200/205/345/207/272/345/216/202/344/273/267/346/240/274/346/214/207/346/225/260PPI.md +94 -0
- package/docs/0246_/345/217/257/350/275/254/345/200/272/350/275/254/350/202/241/344/273/267/345/217/230/345/212/250.md +57 -0
- package/docs/0247_/345/217/257/350/275/254/345/200/272/350/275/254/350/202/241/347/273/223/346/236/234.md +81 -0
- package/docs/0250_/346/270/257/350/202/241/344/272/244/346/230/223/346/227/245/345/216/206.md +65 -0
- package/docs/0252_/347/276/216/350/202/241/345/237/272/347/241/200/344/277/241/346/201/257.md +73 -0
- package/docs/0253_/347/276/216/350/202/241/344/272/244/346/230/223/346/227/245/345/216/206.md +67 -0
- package/docs/0254_/347/276/216/350/202/241/346/227/245/347/272/277/350/241/214/346/203/205.md +83 -0
- package/docs/0255_/345/244/207/347/224/250/350/241/214/346/203/205.md +86 -0
- package/docs/0256_/345/200/272/345/210/270/345/233/236/350/264/255/346/227/245/350/241/214/346/203/205.md +112 -0
- package/docs/0259_/345/220/214/350/212/261/351/241/272/350/241/214/344/270/232/346/246/202/345/277/265/346/235/277/345/235/227.md +70 -0
- package/docs/0260_/345/220/214/350/212/261/351/241/272/346/246/202/345/277/265/345/222/214/350/241/214/344/270/232/346/214/207/346/225/260/350/241/214/346/203/205.md +79 -0
- package/docs/0261_/345/220/214/350/212/261/351/241/272/350/241/214/344/270/232/346/246/202/345/277/265/346/210/220/345/210/206.md +60 -0
- package/docs/0262_/350/202/241/347/245/250/345/216/206/345/217/262/345/210/227/350/241/250.md +75 -0
- package/docs/0265_/345/220/204/346/270/240/351/201/223/345/205/254/345/213/237/345/237/272/351/207/221/351/224/200/345/224/256/344/277/235/346/234/211/350/247/204/346/250/241/345/215/240/346/257/224.md +62 -0
- package/docs/0266_/351/224/200/345/224/256/346/234/272/346/236/204/345/205/254/345/213/237/345/237/272/351/207/221/351/224/200/345/224/256/344/277/235/346/234/211/350/247/204/346/250/241.md +81 -0
- package/docs/0267_/345/210/270/345/225/206/346/234/210/345/272/246/351/207/221/350/202/241.md +54 -0
- package/docs/0269_/345/217/257/350/275/254/345/200/272/350/265/216/345/233/236/344/277/241/346/201/257.md +68 -0
- package/docs/0274_/344/270/255/345/244/256/347/273/223/347/256/227/347/263/273/347/273/237/346/214/201/350/202/241/346/230/216/347/273/206.md +71 -0
- package/docs/0275_/346/234/272/346/236/204/350/260/203/347/240/224/346/225/260/346/215/256.md +72 -0
- package/docs/0284_/344/270/212/346/265/267/351/273/204/351/207/221/345/237/272/347/241/200/344/277/241/346/201/257.md +73 -0
- package/docs/0285_/344/270/212/346/265/267/351/273/204/351/207/221/347/216/260/350/264/247/346/227/245/350/241/214/346/203/205.md +88 -0
- package/docs/0292_/345/210/270/345/225/206/347/233/210/345/210/251/351/242/204/346/265/213.md +89 -0
- package/docs/0293_/346/257/217/346/227/245/347/255/271/347/240/201/345/217/212/350/203/234/347/216/207.md +66 -0
- package/docs/0294_/346/257/217/346/227/245/347/255/271/347/240/201/345/210/206/345/270/203.md +59 -0
- package/docs/0295_/344/270/255/345/244/256/347/273/223/347/256/227/347/263/273/347/273/237/346/214/201/350/202/241/347/273/237/350/256/241.md +69 -0
- package/docs/0298_/346/266/250/350/267/214/345/201/234/345/222/214/347/202/270/346/235/277/346/225/260/346/215/256.md +83 -0
- package/docs/0304_/346/270/257/350/202/241/345/210/206/351/222/237/350/241/214/346/203/205.md +87 -0
- package/docs/0305_/345/217/257/350/275/254/345/200/272/347/245/250/351/235/242/345/210/251/347/216/207.md +63 -0
- package/docs/0308_/344/270/255/344/277/241/350/241/214/344/270/232/346/214/207/346/225/260/346/227/245/350/241/214/346/203/205.md +79 -0
- package/docs/0310_/347/244/276/350/236/215/345/242/236/351/207/217/346/234/210/345/272/246.md +82 -0
- package/docs/0311_/345/270/202/345/234/272/346/270/270/350/265/204/346/234/200/345/205/250/345/220/215/345/275/225.md +147 -0
- package/docs/0312_/346/270/270/350/265/204/344/272/244/346/230/223/346/257/217/346/227/245/346/230/216/347/273/206.md +59 -0
- package/docs/0325_/351/207/207/350/264/255/347/273/217/347/220/206/346/214/207/346/225/260PMI.md +120 -0
- package/docs/0326_/350/236/215/350/265/204/350/236/215/345/210/270/346/240/207/347/232/204/347/233/230/345/211/215.md +72 -0
- package/docs/0327_/347/224/263/344/270/207/350/241/214/344/270/232/346/214/207/346/225/260/346/227/245/350/241/214/346/203/205.md +78 -0
- package/docs/0328_/350/202/241/347/245/250/346/212/200/346/234/257/351/235/242/345/233/240/345/255/220.md +290 -0
- package/docs/0329_/346/257/217/346/227/245/350/202/241/346/234/254/347/233/230/345/211/215.md +62 -0
- package/docs/0331_/350/275/254/350/236/215/350/265/204/344/272/244/346/230/223/346/261/207/346/200/273.md +73 -0
- package/docs/0335_/347/224/263/344/270/207/350/241/214/344/270/232/346/210/220/345/210/206/345/210/206/347/272/247.md +82 -0
- package/docs/0336_/345/221/250/346/234/210/347/272/277/350/241/214/346/203/205/346/257/217/346/227/245/346/233/264/346/226/260.md +78 -0
- package/docs/0337_/346/234/237/350/264/247/345/221/250/346/234/210/347/272/277/350/241/214/346/203/205.md +48 -0
- package/docs/0338_/347/276/216/350/202/241/345/244/215/346/235/203/350/241/214/346/203/205.md +94 -0
- package/docs/0339_/346/270/257/350/202/241/345/244/215/346/235/203/350/241/214/346/203/205.md +92 -0
- package/docs/0341_/346/234/237/346/235/203/345/210/206/351/222/237/350/241/214/346/203/205.md +88 -0
- package/docs/0343_/350/241/214/344/270/232/350/265/204/351/207/221/346/265/201/345/220/221THS.md +67 -0
- package/docs/0344_/346/235/277/345/235/227/350/265/204/351/207/221/346/265/201/345/220/221DC.md +72 -0
- package/docs/0345_/345/244/247/347/233/230/350/265/204/351/207/221/346/265/201/345/220/221DC.md +75 -0
- package/docs/0348_/344/270/252/350/202/241/350/265/204/351/207/221/346/265/201/345/220/221THS.md +62 -0
- package/docs/0349_/344/270/252/350/202/241/350/265/204/351/207/221/346/265/201/345/220/221DC.md +82 -0
- package/docs/0362_/344/270/234/346/226/271/350/264/242/345/257/214/346/246/202/345/277/265/346/235/277/345/235/227.md +70 -0
- package/docs/0363_/344/270/234/346/226/271/350/264/242/345/257/214/346/246/202/345/277/265/346/210/220/345/210/206.md +72 -0
- package/docs/0365_/345/221/250/346/234/210/347/272/277/345/244/215/346/235/203/350/241/214/346/203/205/346/257/217/346/227/245/346/233/264/346/226/260.md +86 -0
- package/docs/0368_/346/234/237/350/264/247/345/220/210/347/272/246/346/266/250/350/267/214/345/201/234/344/273/267/346/240/274.md +80 -0
- package/docs/0370_/345/216/206/345/217/262/345/210/206/351/222/237.md +73 -0
- package/docs/0371_/346/235/277/345/235/227/350/265/204/351/207/221/346/265/201/345/220/221THS.md +65 -0
- package/docs/0372_/345/256/236/346/227/266/346/227/245/347/272/277.md +73 -0
- package/docs/0373_/344/270/255/344/277/241/350/241/214/344/270/232/346/210/220/345/210/206.md +124 -0
- package/docs/0374_/345/256/236/346/227/266/345/210/206/351/222/237.md +56 -0
- package/docs/0375_/345/214/227/344/272/244/346/211/200/346/226/260/346/227/247/344/273/243/347/240/201/345/257/271/347/205/247.md +60 -0
- package/docs/0385_ETF/345/237/272/346/234/254/344/277/241/346/201/257.md +110 -0
- package/docs/0386_ETF/345/237/272/345/207/206/346/214/207/346/225/260.md +70 -0
- package/docs/0387_ETF/345/216/206/345/217/262/345/210/206/351/222/237.md +73 -0
- package/docs/0388_/346/270/257/350/202/241/350/264/242/345/212/241/346/214/207/346/240/207/346/225/260/346/215/256.md +148 -0
- package/docs/0389_/346/270/257/350/202/241/345/210/251/346/266/246/350/241/250.md +92 -0
- package/docs/0390_/346/270/257/350/202/241/350/265/204/344/272/247/350/264/237/345/200/272/350/241/250.md +120 -0
- package/docs/0391_/346/270/257/350/202/241/347/216/260/351/207/221/346/265/201/351/207/217/350/241/250.md +115 -0
- package/docs/0393_/347/276/216/350/202/241/350/264/242/345/212/241/346/214/207/346/240/207/346/225/260/346/215/256.md +143 -0
- package/docs/0394_/347/276/216/350/202/241/345/210/251/346/266/246/350/241/250.md +79 -0
- package/docs/0395_/347/276/216/350/202/241/350/265/204/344/272/247/350/264/237/345/200/272/350/241/250.md +67 -0
- package/docs/0396_/347/276/216/350/202/241/347/216/260/351/207/221/346/265/201/351/207/217/350/241/250.md +79 -0
- package/docs/0397_ST/350/202/241/347/245/250/345/210/227/350/241/250.md +72 -0
- package/docs/0398_/346/262/252/346/267/261/346/270/257/351/200/232/350/202/241/347/245/250/345/210/227/350/241/250.md +82 -0
- package/docs/0399_AH/350/202/241/346/257/224/344/273/267.md +79 -0
- package/docs/0406_/345/233/275/345/256/266/346/224/277/347/255/226/345/272/223.md +70 -0
- package/docs/0408_ETF/344/273/275/351/242/235/350/247/204/346/250/241.md +65 -0
- package/docs/0415_/345/210/270/345/225/206/347/240/224/347/251/266/346/212/245/345/221/212.md +68 -0
- package/docs/0423_ST/351/243/216/351/231/251/350/255/246/347/244/272/346/235/277/350/202/241/347/245/250.md +65 -0
- package/docs/_api_index.json +1213 -0
- package/docs/_index.md +178 -0
- package/package.json +42 -0
- package/requirements.txt +2 -0
- package/server.py +736 -0
package/crawl_docs.py
ADDED
|
@@ -0,0 +1,321 @@
|
|
|
1
|
+
"""
|
|
2
|
+
批量爬取 Tushare 文档页面
|
|
3
|
+
直接获取 HTML 并转换为 Markdown
|
|
4
|
+
"""
|
|
5
|
+
import asyncio
|
|
6
|
+
import os
|
|
7
|
+
import re
|
|
8
|
+
import sys
|
|
9
|
+
import time
|
|
10
|
+
|
|
11
|
+
import httpx
|
|
12
|
+
from bs4 import BeautifulSoup
|
|
13
|
+
from markdownify import markdownify as md
|
|
14
|
+
|
|
15
|
+
# 从侧边栏提取的所有文档页面 doc_id 和标题
|
|
16
|
+
DOC_PAGES = [
|
|
17
|
+
# 基础数据
|
|
18
|
+
(25, "股票列表"),
|
|
19
|
+
(329, "每日股本盘前"),
|
|
20
|
+
(26, "交易日历"),
|
|
21
|
+
(397, "ST股票列表"),
|
|
22
|
+
(423, "ST风险警示板股票"),
|
|
23
|
+
(398, "沪深港通股票列表"),
|
|
24
|
+
(100, "股票曾用名"),
|
|
25
|
+
(112, "上市公司基本信息"),
|
|
26
|
+
(193, "上市公司管理层"),
|
|
27
|
+
(194, "管理层薪酬和持股"),
|
|
28
|
+
(375, "北交所新旧代码对照"),
|
|
29
|
+
(123, "IPO新股上市"),
|
|
30
|
+
(262, "股票历史列表"),
|
|
31
|
+
# 行情数据
|
|
32
|
+
(27, "历史日线"),
|
|
33
|
+
(372, "实时日线"),
|
|
34
|
+
(370, "历史分钟"),
|
|
35
|
+
(374, "实时分钟"),
|
|
36
|
+
(144, "周线行情"),
|
|
37
|
+
(145, "月线行情"),
|
|
38
|
+
(146, "复权行情"),
|
|
39
|
+
(336, "周月线行情每日更新"),
|
|
40
|
+
(365, "周月线复权行情每日更新"),
|
|
41
|
+
(28, "复权因子"),
|
|
42
|
+
(32, "每日指标"),
|
|
43
|
+
(109, "通用行情接口"),
|
|
44
|
+
(183, "每日涨跌停价格"),
|
|
45
|
+
(214, "每日停复牌信息"),
|
|
46
|
+
(48, "沪深股通十大成交股"),
|
|
47
|
+
(49, "港股通十大成交股"),
|
|
48
|
+
(196, "港股通每日成交统计"),
|
|
49
|
+
(197, "港股通每月成交统计"),
|
|
50
|
+
(255, "备用行情"),
|
|
51
|
+
# 财务数据
|
|
52
|
+
(33, "利润表"),
|
|
53
|
+
(36, "资产负债表"),
|
|
54
|
+
(44, "现金流量表"),
|
|
55
|
+
(45, "业绩预告"),
|
|
56
|
+
(46, "业绩快报"),
|
|
57
|
+
(103, "分红送股数据"),
|
|
58
|
+
(79, "财务指标数据"),
|
|
59
|
+
(80, "财务审计意见"),
|
|
60
|
+
(81, "主营业务构成"),
|
|
61
|
+
(162, "财报披露日期表"),
|
|
62
|
+
# 参考数据
|
|
63
|
+
(61, "前十大股东"),
|
|
64
|
+
(62, "前十大流通股东"),
|
|
65
|
+
(110, "股权质押统计"),
|
|
66
|
+
(111, "股权质押明细"),
|
|
67
|
+
(124, "股票回购"),
|
|
68
|
+
(160, "限售股解禁"),
|
|
69
|
+
(161, "大宗交易"),
|
|
70
|
+
(166, "股东人数"),
|
|
71
|
+
(175, "股东增减持"),
|
|
72
|
+
# 特色数据
|
|
73
|
+
(292, "券商盈利预测"),
|
|
74
|
+
(293, "每日筹码及胜率"),
|
|
75
|
+
(294, "每日筹码分布"),
|
|
76
|
+
(328, "股票技术面因子"),
|
|
77
|
+
(295, "中央结算系统持股统计"),
|
|
78
|
+
(274, "中央结算系统持股明细"),
|
|
79
|
+
(188, "沪深股通持股明细"),
|
|
80
|
+
(399, "AH股比价"),
|
|
81
|
+
(275, "机构调研数据"),
|
|
82
|
+
(267, "券商月度金股"),
|
|
83
|
+
# 两融及转融通
|
|
84
|
+
(58, "融资融券交易汇总"),
|
|
85
|
+
(59, "融资融券交易明细"),
|
|
86
|
+
(326, "融资融券标的盘前"),
|
|
87
|
+
(331, "转融资交易汇总"),
|
|
88
|
+
# 资金流向
|
|
89
|
+
(170, "个股资金流向"),
|
|
90
|
+
(348, "个股资金流向THS"),
|
|
91
|
+
(349, "个股资金流向DC"),
|
|
92
|
+
(371, "板块资金流向THS"),
|
|
93
|
+
(343, "行业资金流向THS"),
|
|
94
|
+
(344, "板块资金流向DC"),
|
|
95
|
+
(345, "大盘资金流向DC"),
|
|
96
|
+
(47, "沪深港通资金流向"),
|
|
97
|
+
# 打板专题
|
|
98
|
+
(106, "龙虎榜每日统计"),
|
|
99
|
+
(107, "龙虎榜机构交易"),
|
|
100
|
+
(298, "涨跌停和炸板数据"),
|
|
101
|
+
(259, "同花顺行业概念板块"),
|
|
102
|
+
(260, "同花顺概念和行业指数行情"),
|
|
103
|
+
(261, "同花顺行业概念成分"),
|
|
104
|
+
(362, "东方财富概念板块"),
|
|
105
|
+
(363, "东方财富概念成分"),
|
|
106
|
+
(311, "市场游资最全名录"),
|
|
107
|
+
(312, "游资交易每日明细"),
|
|
108
|
+
# ETF专题
|
|
109
|
+
(385, "ETF基本信息"),
|
|
110
|
+
(386, "ETF基准指数"),
|
|
111
|
+
(387, "ETF历史分钟"),
|
|
112
|
+
(127, "ETF日线行情"),
|
|
113
|
+
(199, "ETF复权因子"),
|
|
114
|
+
(408, "ETF份额规模"),
|
|
115
|
+
# 指数专题
|
|
116
|
+
(94, "指数基本信息"),
|
|
117
|
+
(95, "指数日线行情"),
|
|
118
|
+
(171, "指数周线行情"),
|
|
119
|
+
(172, "指数月线行情"),
|
|
120
|
+
(96, "指数成分和权重"),
|
|
121
|
+
(128, "大盘指数每日指标"),
|
|
122
|
+
(181, "申万行业分类"),
|
|
123
|
+
(335, "申万行业成分分级"),
|
|
124
|
+
(327, "申万行业指数日行情"),
|
|
125
|
+
(373, "中信行业成分"),
|
|
126
|
+
(308, "中信行业指数日行情"),
|
|
127
|
+
(211, "国际主要指数"),
|
|
128
|
+
(215, "沪深市场每日交易统计"),
|
|
129
|
+
# 公募基金
|
|
130
|
+
(19, "基金列表"),
|
|
131
|
+
(118, "基金管理人"),
|
|
132
|
+
(208, "基金经理"),
|
|
133
|
+
(207, "基金规模"),
|
|
134
|
+
(119, "基金净值"),
|
|
135
|
+
(120, "基金分红"),
|
|
136
|
+
(121, "基金持仓"),
|
|
137
|
+
# 期货数据
|
|
138
|
+
(135, "期货合约信息"),
|
|
139
|
+
(137, "期货交易日历"),
|
|
140
|
+
(138, "期货日线行情"),
|
|
141
|
+
(337, "期货周月线行情"),
|
|
142
|
+
(140, "期货仓单日报"),
|
|
143
|
+
(141, "期货每日结算参数"),
|
|
144
|
+
(139, "期货每日持仓排名"),
|
|
145
|
+
(155, "南华期货指数行情"),
|
|
146
|
+
(189, "期货主力与连续合约"),
|
|
147
|
+
(368, "期货合约涨跌停价格"),
|
|
148
|
+
# 现货数据
|
|
149
|
+
(284, "上海黄金基础信息"),
|
|
150
|
+
(285, "上海黄金现货日行情"),
|
|
151
|
+
# 期权数据
|
|
152
|
+
(158, "期权合约信息"),
|
|
153
|
+
(159, "期权日线行情"),
|
|
154
|
+
(341, "期权分钟行情"),
|
|
155
|
+
# 债券专题
|
|
156
|
+
(185, "可转债基础信息"),
|
|
157
|
+
(186, "可转债发行"),
|
|
158
|
+
(269, "可转债赎回信息"),
|
|
159
|
+
(305, "可转债票面利率"),
|
|
160
|
+
(187, "可转债行情"),
|
|
161
|
+
(246, "可转债转股价变动"),
|
|
162
|
+
(247, "可转债转股结果"),
|
|
163
|
+
(256, "债券回购日行情"),
|
|
164
|
+
(201, "国债收益率曲线"),
|
|
165
|
+
# 外汇数据
|
|
166
|
+
(178, "外汇基础信息"),
|
|
167
|
+
(179, "外汇日线行情"),
|
|
168
|
+
# 港股数据
|
|
169
|
+
(191, "港股基础信息"),
|
|
170
|
+
(250, "港股交易日历"),
|
|
171
|
+
(192, "港股日线行情"),
|
|
172
|
+
(339, "港股复权行情"),
|
|
173
|
+
(304, "港股分钟行情"),
|
|
174
|
+
(389, "港股利润表"),
|
|
175
|
+
(390, "港股资产负债表"),
|
|
176
|
+
(391, "港股现金流量表"),
|
|
177
|
+
(388, "港股财务指标数据"),
|
|
178
|
+
# 美股数据
|
|
179
|
+
(252, "美股基础信息"),
|
|
180
|
+
(253, "美股交易日历"),
|
|
181
|
+
(254, "美股日线行情"),
|
|
182
|
+
(338, "美股复权行情"),
|
|
183
|
+
(394, "美股利润表"),
|
|
184
|
+
(395, "美股资产负债表"),
|
|
185
|
+
(396, "美股现金流量表"),
|
|
186
|
+
(393, "美股财务指标数据"),
|
|
187
|
+
# 宏观经济
|
|
188
|
+
(149, "Shibor利率"),
|
|
189
|
+
(150, "Shibor报价数据"),
|
|
190
|
+
(151, "LPR贷款基础利率"),
|
|
191
|
+
(152, "Libor利率"),
|
|
192
|
+
(153, "Hibor利率"),
|
|
193
|
+
(173, "温州民间借贷利率"),
|
|
194
|
+
(227, "国内生产总值GDP"),
|
|
195
|
+
(228, "居民消费价格指数CPI"),
|
|
196
|
+
(245, "工业生产者出厂价格指数PPI"),
|
|
197
|
+
(242, "货币供应量月"),
|
|
198
|
+
(310, "社融增量月度"),
|
|
199
|
+
(325, "采购经理指数PMI"),
|
|
200
|
+
(219, "美国国债收益率曲线"),
|
|
201
|
+
# 大模型语料专题
|
|
202
|
+
(406, "国家政策库"),
|
|
203
|
+
(415, "券商研究报告"),
|
|
204
|
+
(143, "新闻快讯"),
|
|
205
|
+
(195, "新闻通讯长篇"),
|
|
206
|
+
(154, "新闻联播文字稿"),
|
|
207
|
+
(176, "上市公司公告"),
|
|
208
|
+
# 财富管理
|
|
209
|
+
(265, "各渠道公募基金销售保有规模占比"),
|
|
210
|
+
(266, "销售机构公募基金销售保有规模"),
|
|
211
|
+
]
|
|
212
|
+
|
|
213
|
+
OUTPUT_DIR = "docs"
|
|
214
|
+
|
|
215
|
+
|
|
216
|
+
def extract_doc_content(html: str) -> str:
|
|
217
|
+
"""从 Tushare HTML 页面提取文档主体内容并转为 Markdown"""
|
|
218
|
+
soup = BeautifulSoup(html, "html.parser")
|
|
219
|
+
|
|
220
|
+
# 文档主内容在 class="right-content" 或 id="doc_content" 中
|
|
221
|
+
content_div = (
|
|
222
|
+
soup.find("div", class_="right-content")
|
|
223
|
+
or soup.find("div", id="doc_content")
|
|
224
|
+
or soup.find("div", class_="document-content")
|
|
225
|
+
)
|
|
226
|
+
|
|
227
|
+
if not content_div:
|
|
228
|
+
# 备选: 取 main 或 body
|
|
229
|
+
content_div = soup.find("main") or soup.body
|
|
230
|
+
|
|
231
|
+
if not content_div:
|
|
232
|
+
return ""
|
|
233
|
+
|
|
234
|
+
# 移除不需要的元素
|
|
235
|
+
for tag in content_div.find_all(["script", "style", "nav", "footer"]):
|
|
236
|
+
tag.decompose()
|
|
237
|
+
|
|
238
|
+
# 转换为 Markdown
|
|
239
|
+
markdown = md(str(content_div), heading_style="ATX", strip=["img"])
|
|
240
|
+
|
|
241
|
+
# 清理
|
|
242
|
+
markdown = re.sub(r"\n{3,}", "\n\n", markdown)
|
|
243
|
+
markdown = markdown.strip()
|
|
244
|
+
|
|
245
|
+
return markdown
|
|
246
|
+
|
|
247
|
+
|
|
248
|
+
async def fetch_page(
|
|
249
|
+
client: httpx.AsyncClient,
|
|
250
|
+
doc_id: int,
|
|
251
|
+
title: str,
|
|
252
|
+
semaphore: asyncio.Semaphore,
|
|
253
|
+
) -> tuple[int, str, str | None]:
|
|
254
|
+
"""获取单个文档页面"""
|
|
255
|
+
async with semaphore:
|
|
256
|
+
url = f"https://tushare.pro/document/2?doc_id={doc_id}"
|
|
257
|
+
try:
|
|
258
|
+
resp = await client.get(url, timeout=20)
|
|
259
|
+
resp.raise_for_status()
|
|
260
|
+
content = extract_doc_content(resp.text)
|
|
261
|
+
if content and len(content) > 50:
|
|
262
|
+
return (doc_id, title, content)
|
|
263
|
+
else:
|
|
264
|
+
print(f" [WARN] {doc_id} {title}: 内容过短/为空", file=sys.stderr)
|
|
265
|
+
return (doc_id, title, None)
|
|
266
|
+
except Exception as e:
|
|
267
|
+
print(f" [ERROR] {doc_id} {title}: {e}", file=sys.stderr)
|
|
268
|
+
return (doc_id, title, None)
|
|
269
|
+
|
|
270
|
+
|
|
271
|
+
async def main():
|
|
272
|
+
os.makedirs(OUTPUT_DIR, exist_ok=True)
|
|
273
|
+
|
|
274
|
+
total = len(DOC_PAGES)
|
|
275
|
+
print(f"开始爬取 {total} 个文档页面...")
|
|
276
|
+
|
|
277
|
+
# 并发5,避免给 Tushare 服务器压力
|
|
278
|
+
semaphore = asyncio.Semaphore(5)
|
|
279
|
+
|
|
280
|
+
headers = {
|
|
281
|
+
"User-Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36",
|
|
282
|
+
"Accept": "text/html",
|
|
283
|
+
}
|
|
284
|
+
|
|
285
|
+
async with httpx.AsyncClient(headers=headers, follow_redirects=True) as client:
|
|
286
|
+
tasks = [fetch_page(client, doc_id, title, semaphore) for doc_id, title in DOC_PAGES]
|
|
287
|
+
|
|
288
|
+
results = []
|
|
289
|
+
done = 0
|
|
290
|
+
for coro in asyncio.as_completed(tasks):
|
|
291
|
+
doc_id, title, content = await coro
|
|
292
|
+
done += 1
|
|
293
|
+
if content:
|
|
294
|
+
safe_title = re.sub(r'[/\\:*?"<>|]', '_', title)
|
|
295
|
+
filename = f"{OUTPUT_DIR}/{doc_id:04d}_{safe_title}.md"
|
|
296
|
+
with open(filename, "w", encoding="utf-8") as f:
|
|
297
|
+
f.write(f"# {title}\n\n")
|
|
298
|
+
f.write(f"文档ID: {doc_id}\n")
|
|
299
|
+
f.write(f"URL: https://tushare.pro/document/2?doc_id={doc_id}\n\n---\n\n")
|
|
300
|
+
f.write(content)
|
|
301
|
+
results.append((doc_id, title, True))
|
|
302
|
+
print(f" [{done}/{total}] ✓ {title} (doc_id={doc_id})")
|
|
303
|
+
else:
|
|
304
|
+
results.append((doc_id, title, False))
|
|
305
|
+
print(f" [{done}/{total}] ✗ {title} (doc_id={doc_id})")
|
|
306
|
+
|
|
307
|
+
success = sum(1 for _, _, ok in results if ok)
|
|
308
|
+
print(f"\n完成! 成功: {success}/{total}")
|
|
309
|
+
|
|
310
|
+
# 生成汇总索引
|
|
311
|
+
with open(f"{OUTPUT_DIR}/_index.md", "w", encoding="utf-8") as f:
|
|
312
|
+
f.write("# Tushare Pro API 文档索引\n\n")
|
|
313
|
+
f.write(f"爬取时间: {time.strftime('%Y-%m-%d %H:%M:%S')}\n")
|
|
314
|
+
f.write(f"成功: {success}/{total}\n\n")
|
|
315
|
+
for doc_id, title, ok in sorted(results, key=lambda x: x[0]):
|
|
316
|
+
status = "✓" if ok else "✗"
|
|
317
|
+
f.write(f"- [{status}] {title} (doc_id={doc_id})\n")
|
|
318
|
+
|
|
319
|
+
|
|
320
|
+
if __name__ == "__main__":
|
|
321
|
+
asyncio.run(main())
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
# 基金列表
|
|
2
|
+
|
|
3
|
+
文档ID: 19
|
|
4
|
+
URL: https://tushare.pro/document/2?doc_id=19
|
|
5
|
+
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
## 公募基金列表
|
|
9
|
+
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
接口:fund\_basic,可以通过[**数据工具**](https://tushare.pro/webclient/)调试和查看数据。
|
|
13
|
+
描述:获取公募基金数据列表,包括场内和场外基金
|
|
14
|
+
积分:用户需要2000积分才可以调取,单次最大可以提取15000条数据,5000积分以上权限更高,具体请参阅[积分获取办法](https://tushare.pro/document/1?doc_id=13)
|
|
15
|
+
|
|
16
|
+
**输入参数**
|
|
17
|
+
|
|
18
|
+
| 名称 | 类型 | 必选 | 描述 |
|
|
19
|
+
| --- | --- | --- | --- |
|
|
20
|
+
| ts\_code | str | N | 基金代码 |
|
|
21
|
+
| market | str | N | 交易市场: E场内 O场外(默认E) |
|
|
22
|
+
| status | str | N | 存续状态 D摘牌 I发行 L上市中 |
|
|
23
|
+
|
|
24
|
+
**输出参数**
|
|
25
|
+
|
|
26
|
+
| 名称 | 类型 | 默认显示 | 描述 |
|
|
27
|
+
| --- | --- | --- | --- |
|
|
28
|
+
| ts\_code | str | Y | 基金代码 |
|
|
29
|
+
| name | str | Y | 简称 |
|
|
30
|
+
| management | str | Y | 管理人 |
|
|
31
|
+
| custodian | str | Y | 托管人 |
|
|
32
|
+
| fund\_type | str | Y | 投资类型 |
|
|
33
|
+
| found\_date | str | Y | 成立日期 |
|
|
34
|
+
| due\_date | str | Y | 到期日期 |
|
|
35
|
+
| list\_date | str | Y | 上市时间 |
|
|
36
|
+
| issue\_date | str | Y | 发行日期 |
|
|
37
|
+
| delist\_date | str | Y | 退市日期 |
|
|
38
|
+
| issue\_amount | float | Y | 发行份额(亿) |
|
|
39
|
+
| m\_fee | float | Y | 管理费 |
|
|
40
|
+
| c\_fee | float | Y | 托管费 |
|
|
41
|
+
| duration\_year | float | Y | 存续期 |
|
|
42
|
+
| p\_value | float | Y | 面值 |
|
|
43
|
+
| min\_amount | float | Y | 起点金额(万元) |
|
|
44
|
+
| exp\_return | float | Y | 预期收益率 |
|
|
45
|
+
| benchmark | str | Y | 业绩比较基准 |
|
|
46
|
+
| status | str | Y | 存续状态D摘牌 I发行 L已上市 |
|
|
47
|
+
| invest\_type | str | Y | 投资风格 |
|
|
48
|
+
| type | str | Y | 基金类型 |
|
|
49
|
+
| trustee | str | Y | 受托人 |
|
|
50
|
+
| purc\_startdate | str | Y | 日常申购起始日 |
|
|
51
|
+
| redm\_startdate | str | Y | 日常赎回起始日 |
|
|
52
|
+
| market | str | Y | E场内O场外 |
|
|
53
|
+
|
|
54
|
+
**接口用例**
|
|
55
|
+
|
|
56
|
+
```
|
|
57
|
+
pro = ts.pro_api()
|
|
58
|
+
|
|
59
|
+
df = pro.fund_basic(market='E')
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
**数据样例**
|
|
63
|
+
|
|
64
|
+
```
|
|
65
|
+
ts_code name management custodian fund_type found_date \
|
|
66
|
+
1 512850.SH 中信建投北京50ETF 中信建投基金 招商银行 股票型 20180927
|
|
67
|
+
2 168601.SZ 汇安裕阳三年定期开放 汇安基金 中国光大银行 混合型 20180927
|
|
68
|
+
3 512860.SH 华安中国A股ETF 华安基金 中国农业银行 股票型 20180927
|
|
69
|
+
4 159960.SZ 恒生国企 平安大华基金 中国银行 股票型 20180921
|
|
70
|
+
5 501062.SH 南方瑞合三年 南方基金 中国建设银行 混合型 20180906
|
|
71
|
+
6 510600.SH 沪50ETF 申万菱信基金 中国工商银行 股票型 20180903
|
|
72
|
+
7 501061.SH 金选300C 中金基金 中国建设银行 股票型 20180830
|
|
73
|
+
8 501060.SH 金选300A 中金基金 中国建设银行 股票型 20180830
|
|
74
|
+
9 166802.SZ 浙商300 浙商基金 华夏银行 股票型 20180820
|
|
75
|
+
```
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
# 股票列表
|
|
2
|
+
|
|
3
|
+
文档ID: 25
|
|
4
|
+
URL: https://tushare.pro/document/2?doc_id=25
|
|
5
|
+
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
## 基础信息
|
|
9
|
+
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
接口:stock\_basic,可以通过[**数据工具**](https://tushare.pro/webclient/)调试和查看数据
|
|
13
|
+
描述:获取基础信息数据,包括股票代码、名称、上市日期、退市日期等
|
|
14
|
+
限量:每次最多返回6000行数据(覆盖全市场A股,会随股票总数增长而增加)
|
|
15
|
+
权限:2000积分起,每分钟请求50次。此接口是基础信息,调取一次就可以拉取完,建议保存倒本地存储后使用
|
|
16
|
+
|
|
17
|
+
**输入参数**
|
|
18
|
+
|
|
19
|
+
| 名称 | 类型 | 必选 | 描述 |
|
|
20
|
+
| --- | --- | --- | --- |
|
|
21
|
+
| ts\_code | str | N | TS股票代码([格式说明](https://tushare.pro/document/2?doc_id=14)) |
|
|
22
|
+
| name | str | N | 名称 |
|
|
23
|
+
| market | str | N | 市场类别 (主板/创业板/科创板/CDR/北交所) |
|
|
24
|
+
| list\_status | str | N | 上市状态 L上市 D退市 P暂停上市 G过会未交易,默认是L |
|
|
25
|
+
| exchange | str | N | 交易所 SSE上交所 SZSE深交所 BSE北交所 |
|
|
26
|
+
| is\_hs | str | N | 是否沪深港通标的,N否 H沪股通 S深股通 |
|
|
27
|
+
|
|
28
|
+
**输出参数**
|
|
29
|
+
|
|
30
|
+
| 名称 | 类型 | 默认显示 | 描述 |
|
|
31
|
+
| --- | --- | --- | --- |
|
|
32
|
+
| ts\_code | str | Y | TS代码 |
|
|
33
|
+
| symbol | str | Y | 股票代码 |
|
|
34
|
+
| name | str | Y | 股票名称 |
|
|
35
|
+
| area | str | Y | 地域 |
|
|
36
|
+
| industry | str | Y | 所属行业 |
|
|
37
|
+
| fullname | str | N | 股票全称 |
|
|
38
|
+
| enname | str | N | 英文全称 |
|
|
39
|
+
| cnspell | str | Y | 拼音缩写 |
|
|
40
|
+
| market | str | Y | 市场类型(主板/创业板/科创板/CDR) |
|
|
41
|
+
| exchange | str | N | 交易所代码 |
|
|
42
|
+
| curr\_type | str | N | 交易货币 |
|
|
43
|
+
| list\_status | str | N | 上市状态 L上市 D退市 G过会未交易 P暂停上市 |
|
|
44
|
+
| list\_date | str | Y | 上市日期 |
|
|
45
|
+
| delist\_date | str | N | 退市日期 |
|
|
46
|
+
| is\_hs | str | N | 是否沪深港通标的,N否 H沪股通 S深股通 |
|
|
47
|
+
| act\_name | str | Y | 实控人名称 |
|
|
48
|
+
| act\_ent\_type | str | Y | 实控人企业性质 |
|
|
49
|
+
|
|
50
|
+
说明:旧版上的PE/PB/股本等字段,请在行情接口[“每日指标”](https://tushare.pro/document/2?doc_id=32)中获取。
|
|
51
|
+
|
|
52
|
+
**接口示例**
|
|
53
|
+
|
|
54
|
+
```
|
|
55
|
+
pro = ts.pro_api()
|
|
56
|
+
|
|
57
|
+
#查询当前所有正常上市交易的股票列表
|
|
58
|
+
|
|
59
|
+
data = pro.stock_basic(exchange='', list_status='L', fields='ts_code,symbol,name,area,industry,list_date')
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
或者:
|
|
63
|
+
|
|
64
|
+
```
|
|
65
|
+
#查询当前所有正常上市交易的股票列表
|
|
66
|
+
|
|
67
|
+
data = pro.query('stock_basic', exchange='', list_status='L', fields='ts_code,symbol,name,area,industry,list_date')
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
**数据样例**
|
|
71
|
+
|
|
72
|
+
```
|
|
73
|
+
ts_code symbol name area industry list_date
|
|
74
|
+
0 000001.SZ 000001 平安银行 深圳 银行 19910403
|
|
75
|
+
1 000002.SZ 000002 万科A 深圳 全国地产 19910129
|
|
76
|
+
2 000004.SZ 000004 国农科技 深圳 生物制药 19910114
|
|
77
|
+
3 000005.SZ 000005 世纪星源 深圳 房产服务 19901210
|
|
78
|
+
4 000006.SZ 000006 深振业A 深圳 区域地产 19920427
|
|
79
|
+
5 000007.SZ 000007 全新好 深圳 酒店餐饮 19920413
|
|
80
|
+
6 000008.SZ 000008 神州高铁 北京 运输设备 19920507
|
|
81
|
+
7 000009.SZ 000009 中国宝安 深圳 综合类 19910625
|
|
82
|
+
8 000010.SZ 000010 美丽生态 深圳 建筑施工 19951027
|
|
83
|
+
9 000011.SZ 000011 深物业A 深圳 区域地产 19920330
|
|
84
|
+
10 000012.SZ 000012 南玻A 深圳 玻璃 19920228
|
|
85
|
+
11 000014.SZ 000014 沙河股份 深圳 全国地产 19920602
|
|
86
|
+
12 000016.SZ 000016 深康佳A 深圳 家用电器 19920327
|
|
87
|
+
13 000017.SZ 000017 深中华A 深圳 文教休闲 19920331
|
|
88
|
+
14 000018.SZ 000018 神州长城 深圳 装修装饰 19920616
|
|
89
|
+
15 000019.SZ 000019 深深宝A 深圳 软饮料 19921012
|
|
90
|
+
16 000020.SZ 000020 深华发A 深圳 元器件 19920428
|
|
91
|
+
17 000021.SZ 000021 深科技 深圳 电脑设备 19940202
|
|
92
|
+
18 000022.SZ 000022 深赤湾A 深圳 港口 19930505
|
|
93
|
+
19 000023.SZ 000023 深天地A 深圳 其他建材 19930429
|
|
94
|
+
20 000025.SZ 000025 特力A 深圳 汽车服务 19930621
|
|
95
|
+
```
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
# 交易日历
|
|
2
|
+
|
|
3
|
+
文档ID: 26
|
|
4
|
+
URL: https://tushare.pro/document/2?doc_id=26
|
|
5
|
+
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
## 交易日历
|
|
9
|
+
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
接口:trade\_cal,可以通过[**数据工具**](https://tushare.pro/webclient/)调试和查看数据。
|
|
13
|
+
描述:获取各大交易所交易日历数据,默认提取的是上交所
|
|
14
|
+
积分:需2000积分
|
|
15
|
+
|
|
16
|
+
**输入参数**
|
|
17
|
+
|
|
18
|
+
| 名称 | 类型 | 必选 | 描述 |
|
|
19
|
+
| --- | --- | --- | --- |
|
|
20
|
+
| exchange | str | N | 交易所 SSE上交所,SZSE深交所,CFFEX 中金所,SHFE 上期所,CZCE 郑商所,DCE 大商所,INE 上能源 |
|
|
21
|
+
| start\_date | str | N | 开始日期 (格式:YYYYMMDD 下同) |
|
|
22
|
+
| end\_date | str | N | 结束日期 |
|
|
23
|
+
| is\_open | str | N | 是否交易 '0'休市 '1'交易 |
|
|
24
|
+
|
|
25
|
+
**输出参数**
|
|
26
|
+
|
|
27
|
+
| 名称 | 类型 | 默认显示 | 描述 |
|
|
28
|
+
| --- | --- | --- | --- |
|
|
29
|
+
| exchange | str | Y | 交易所 SSE上交所 SZSE深交所 |
|
|
30
|
+
| cal\_date | str | Y | 日历日期 |
|
|
31
|
+
| is\_open | str | Y | 是否交易 0休市 1交易 |
|
|
32
|
+
| pretrade\_date | str | Y | 上一个交易日 |
|
|
33
|
+
|
|
34
|
+
**接口示例**
|
|
35
|
+
|
|
36
|
+
```
|
|
37
|
+
pro = ts.pro_api()
|
|
38
|
+
|
|
39
|
+
df = pro.trade_cal(exchange='', start_date='20180101', end_date='20181231')
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
或者
|
|
43
|
+
|
|
44
|
+
```
|
|
45
|
+
df = pro.query('trade_cal', start_date='20180101', end_date='20181231')
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
**数据样例**
|
|
49
|
+
|
|
50
|
+
```
|
|
51
|
+
exchange cal_date is_open
|
|
52
|
+
0 SSE 20180101 0
|
|
53
|
+
1 SSE 20180102 1
|
|
54
|
+
2 SSE 20180103 1
|
|
55
|
+
3 SSE 20180104 1
|
|
56
|
+
4 SSE 20180105 1
|
|
57
|
+
5 SSE 20180106 0
|
|
58
|
+
6 SSE 20180107 0
|
|
59
|
+
7 SSE 20180108 1
|
|
60
|
+
8 SSE 20180109 1
|
|
61
|
+
9 SSE 20180110 1
|
|
62
|
+
10 SSE 20180111 1
|
|
63
|
+
11 SSE 20180112 1
|
|
64
|
+
12 SSE 20180113 0
|
|
65
|
+
13 SSE 20180114 0
|
|
66
|
+
14 SSE 20180115 1
|
|
67
|
+
15 SSE 20180116 1
|
|
68
|
+
16 SSE 20180117 1
|
|
69
|
+
17 SSE 20180118 1
|
|
70
|
+
18 SSE 20180119 1
|
|
71
|
+
19 SSE 20180120 0
|
|
72
|
+
20 SSE 20180121 0
|
|
73
|
+
```
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
# 历史日线
|
|
2
|
+
|
|
3
|
+
文档ID: 27
|
|
4
|
+
URL: https://tushare.pro/document/2?doc_id=27
|
|
5
|
+
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
## A股日线行情
|
|
9
|
+
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
接口:daily,可以通过[**数据工具**](https://tushare.pro/webclient/)调试和查看数据
|
|
13
|
+
数据说明:交易日每天15点~16点之间入库。本接口是未复权行情,停牌期间不提供数据
|
|
14
|
+
调取说明:基础积分每分钟内可调取500次,每次6000条数据,一次请求相当于提取一个股票23年历史
|
|
15
|
+
描述:获取股票行情数据,或通过[**通用行情接口**](https://tushare.pro/document/2?doc_id=109)获取数据,包含了前后复权数据
|
|
16
|
+
|
|
17
|
+
**输入参数**
|
|
18
|
+
|
|
19
|
+
| 名称 | 类型 | 必选 | 描述 |
|
|
20
|
+
| --- | --- | --- | --- |
|
|
21
|
+
| ts\_code | str | N | 股票代码(支持多个股票同时提取,逗号分隔) |
|
|
22
|
+
| trade\_date | str | N | 交易日期(YYYYMMDD) |
|
|
23
|
+
| start\_date | str | N | 开始日期(YYYYMMDD) |
|
|
24
|
+
| end\_date | str | N | 结束日期(YYYYMMDD) |
|
|
25
|
+
|
|
26
|
+
**注:日期都填YYYYMMDD格式,比如20181010**
|
|
27
|
+
|
|
28
|
+
**输出参数**
|
|
29
|
+
|
|
30
|
+
| 名称 | 类型 | 描述 |
|
|
31
|
+
| --- | --- | --- |
|
|
32
|
+
| ts\_code | str | 股票代码 |
|
|
33
|
+
| trade\_date | str | 交易日期 |
|
|
34
|
+
| open | float | 开盘价 |
|
|
35
|
+
| high | float | 最高价 |
|
|
36
|
+
| low | float | 最低价 |
|
|
37
|
+
| close | float | 收盘价 |
|
|
38
|
+
| pre\_close | float | 昨收价【除权价】 |
|
|
39
|
+
| change | float | 涨跌额 |
|
|
40
|
+
| pct\_chg | float | 涨跌幅 【基于除权后的昨收计算的涨跌幅:(今收-除权昨收)/除权昨收 】 |
|
|
41
|
+
| vol | float | 成交量 (手) |
|
|
42
|
+
| amount | float | 成交额 (千元) |
|
|
43
|
+
|
|
44
|
+
**接口示例**
|
|
45
|
+
|
|
46
|
+
```
|
|
47
|
+
pro = ts.pro_api()
|
|
48
|
+
|
|
49
|
+
df = pro.daily(ts_code='000001.SZ', start_date='20180701', end_date='20180718')
|
|
50
|
+
|
|
51
|
+
#多个股票
|
|
52
|
+
df = pro.daily(ts_code='000001.SZ,600000.SH', start_date='20180701', end_date='20180718')
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
或者
|
|
56
|
+
|
|
57
|
+
```
|
|
58
|
+
df = pro.query('daily', ts_code='000001.SZ', start_date='20180701', end_date='20180718')
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
也可以通过日期取历史某一天的全部历史
|
|
62
|
+
|
|
63
|
+
```
|
|
64
|
+
df = pro.daily(trade_date='20180810')
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
**数据样例**
|
|
68
|
+
|
|
69
|
+
```
|
|
70
|
+
ts_code trade_date open high low close pre_close change pct_chg vol amount
|
|
71
|
+
0 000001.SZ 20180718 8.75 8.85 8.69 8.70 8.72 -0.02 -0.23 525152.77 460697.377
|
|
72
|
+
1 000001.SZ 20180717 8.74 8.75 8.66 8.72 8.73 -0.01 -0.11 375356.33 326396.994
|
|
73
|
+
2 000001.SZ 20180716 8.85 8.90 8.69 8.73 8.88 -0.15 -1.69 689845.58 603427.713
|
|
74
|
+
3 000001.SZ 20180713 8.92 8.94 8.82 8.88 8.88 0.00 0.00 603378.21 535401.175
|
|
75
|
+
4 000001.SZ 20180712 8.60 8.97 8.58 8.88 8.64 0.24 2.78 1140492.31 1008658.828
|
|
76
|
+
5 000001.SZ 20180711 8.76 8.83 8.68 8.78 8.98 -0.20 -2.23 851296.70 744765.824
|
|
77
|
+
6 000001.SZ 20180710 9.02 9.02 8.89 8.98 9.03 -0.05 -0.55 896862.02 803038.965
|
|
78
|
+
7 000001.SZ 20180709 8.69 9.03 8.68 9.03 8.66 0.37 4.27 1409954.60 1255007.609
|
|
79
|
+
8 000001.SZ 20180706 8.61 8.78 8.45 8.66 8.60 0.06 0.70 988282.69 852071.526
|
|
80
|
+
9 000001.SZ 20180705 8.62 8.73 8.55 8.60 8.61 -0.01 -0.12 835768.77 722169.579
|
|
81
|
+
```
|