# -*- coding:utf-8 -*- # !/usr/bin/env python """ Date: 2025/2/15 22:00 Desc: 东方财富网-个股-股票信息 https://quote.eastmoney.com/concept/sh603777.html?from=classic """ import pandas as pd import requests def stock_individual_info_em( symbol: str = "603777", timeout: float = None ) -> pd.DataFrame: """ 东方财富-个股-股票信息 https://quote.eastmoney.com/concept/sh603777.html?from=classic :param symbol: 股票代码 :type symbol: str :param timeout: choice of None or a positive float number :type timeout: float :return: 股票信息 :rtype: pandas.DataFrame """ url = "https://push2.eastmoney.com/api/qt/stock/get" market_code = 1 if symbol.startswith("6") else 0 params = { "fltt": "2", "invt": "2", "fields": "f120,f121,f122,f174,f175,f59,f163,f43,f57,f58,f169,f170,f46,f44,f51,f168,f47," "f164,f116,f60,f45,f52,f50,f48,f167,f117,f71,f161,f49,f530,f135,f136,f137,f138," "f139,f141,f142,f144,f145,f147,f148,f140,f143,f146,f149,f55,f62,f162,f92,f173,f104," "f105,f84,f85,f183,f184,f185,f186,f187,f188,f189,f190,f191,f192,f107,f111,f86,f177,f78," "f110,f262,f263,f264,f267,f268,f255,f256,f257,f258,f127,f199,f128,f198,f259,f260,f261," "f171,f277,f278,f279,f288,f152,f250,f251,f252,f253,f254,f269,f270,f271,f272,f273,f274," "f275,f276,f265,f266,f289,f290,f286,f285,f292,f293,f294,f295,f43", "secid": f"{market_code}.{symbol}", } r = requests.get(url, params=params, timeout=timeout) data_json = r.json() temp_df = pd.DataFrame(data_json) temp_df.reset_index(inplace=True) del temp_df["rc"] del temp_df["rt"] del temp_df["svr"] del temp_df["lt"] del temp_df["full"] code_name_map = { "f57": "股票代码", "f58": "股票简称", "f84": "总股本", "f85": "流通股", "f127": "行业", "f116": "总市值", "f117": "流通市值", "f189": "上市时间", "f43": "最新", } temp_df["index"] = temp_df["index"].map(code_name_map) temp_df = temp_df[pd.notna(temp_df["index"])] if "dlmkts" in temp_df.columns: del temp_df["dlmkts"] temp_df.columns = [ "item", "value", ] temp_df.reset_index(inplace=True, drop=True) return temp_df if __name__ == "__main__": stock_individual_info_em_df = stock_individual_info_em(symbol="000002") print(stock_individual_info_em_df)