def stock_zh_index_spot() -> pd.DataFrame: """ 新浪财经-行情中心首页-A股-分类-所有指数 大量采集会被目标网站服务器封禁 IP, 如果被封禁 IP, 请 10 分钟后再试 http://vip.stock.finance.sina.com.cn/mkt/#hs_s :return: 所有指数的实时行情数据 :rtype: pandas.DataFrame """ big_df = pd.DataFrame() page_count = get_zh_index_page_count() zh_sina_stock_payload_copy = zh_sina_index_stock_payload.copy() for page in tqdm(range(1, page_count + 1), leave=False): zh_sina_stock_payload_copy.update({"page": page}) res = requests.get(zh_sina_index_stock_url, params=zh_sina_stock_payload_copy) data_json = demjson.decode(res.text) big_df = big_df.append(pd.DataFrame(data_json), ignore_index=True) big_df = big_df.applymap(_replace_comma) big_df["trade"] = big_df["trade"].astype(float) big_df["pricechange"] = big_df["pricechange"].astype(float) big_df["changepercent"] = big_df["changepercent"].astype(float) big_df["buy"] = big_df["buy"].astype(float) big_df["sell"] = big_df["sell"].astype(float) big_df["settlement"] = big_df["settlement"].astype(float) big_df["open"] = big_df["open"].astype(float) big_df["high"] = big_df["high"].astype(float) big_df["low"] = big_df["low"].astype(float) big_df.columns = [ "代码", "名称", "最新价", "涨跌额", "涨跌幅", "_", "_", "昨收", "今开", "最高", "最低", "成交量", "成交额", "_", "_", ] big_df = big_df[ [ "代码", "名称", "最新价", "涨跌额", "涨跌幅", "昨收", "今开", "最高", "最低", "成交量", "成交额", ] ] return big_df
def stock_zh_index_spot() -> pd.DataFrame: """ 新浪财经-指数 大量采集会被目标网站服务器封禁 IP http://vip.stock.finance.sina.com.cn/mkt/#hs_s :return: 所有指数的实时行情数据 :rtype: pandas.DataFrame """ big_df = pd.DataFrame() page_count = get_zh_index_page_count() zh_sina_stock_payload_copy = zh_sina_index_stock_payload.copy() for page in tqdm(range(1, page_count + 1)): zh_sina_stock_payload_copy.update({"page": page}) res = requests.get(zh_sina_index_stock_url, params=zh_sina_stock_payload_copy) data_json = demjson.decode(res.text) big_df = big_df.append(pd.DataFrame(data_json), ignore_index=True) big_df = big_df.applymap(_replace_comma) big_df["trade"] = big_df["trade"].astype(float) big_df["pricechange"] = big_df["pricechange"].astype(float) big_df["changepercent"] = big_df["changepercent"].astype(float) big_df["buy"] = big_df["buy"].astype(float) big_df["sell"] = big_df["sell"].astype(float) big_df["settlement"] = big_df["settlement"].astype(float) big_df["open"] = big_df["open"].astype(float) big_df["high"] = big_df["high"].astype(float) big_df["low"] = big_df["low"].astype(float) big_df["low"] = big_df["low"].astype(float) big_df.columns = [ '代码', '名称', '最新价', '涨跌额', '涨跌幅', '_', '_', '昨收', '今开', '最高', '最低', '成交量', '成交额', '_', '_', ] big_df = big_df[[ '代码', '名称', '最新价', '涨跌额', '涨跌幅', '昨收', '今开', '最高', '最低', '成交量', '成交额', ]] return big_df
def stock_zh_index_spot() -> pd.DataFrame: """ 从新浪财经-指数获取所有指数的实时行情数据, 大量抓取容易封IP http://vip.stock.finance.sina.com.cn/mkt/#hs_s :return: pandas.DataFrame symbol name trade pricechange changepercent buy sell settlement \ 0 sh000001 上证指数 2891.3431 -18.527 -0.637 0 0 2909.8697 1 sh000002 A股指数 3029.2626 -19.372 -0.635 0 0 3048.6349 2 sh000003 B股指数 255.2202 -2.955 -1.145 0 0 258.1752 3 sh000004 工业指数 2265.4238 -19.259 -0.843 0 0 2284.6832 4 sh000005 商业指数 2625.3647 -31.024 -1.168 0 0 2656.3890 .. ... ... ... ... ... .. ... ... 635 sh000079 公用等权 1855.8680 -26.981 -1.433 0 0 1882.8489 636 sh000090 上证流通 1085.5027 -7.803 -0.714 0 0 1093.3057 637 sh000091 沪财中小 7327.8375 -95.106 -1.281 0 0 7422.9430 638 sh000092 资源50 2068.8152 -21.561 -1.031 0 0 2090.3766 639 sh000093 180分层 9200.0115 -89.053 -0.959 0 0 9289.0642 open high low volume amount code \ 0 2911.3500 2917.8293 2891.2043 135519463 152576392736 000001 1 3050.1878 3057.0351 3029.1168 135417123 152529532272 000002 2 258.2375 258.2375 255.2202 102341 46860464 000003 3 2284.4955 2288.8948 2265.4238 81989859 100573430149 000004 4 2654.1212 2661.1885 2624.7153 9706663 10959125999 000005 .. ... ... ... ... ... ... 635 1880.9163 1881.3908 1855.6935 3771090 2602021459 000079 636 1093.7894 1095.7378 1085.5027 132459529 141897444366 000090 637 7416.8197 7417.4444 7326.1919 14811864 17551488362 000091 638 2089.1099 2089.8730 2068.8152 9466656 8101366245 000092 639 9287.6393 9302.3461 9200.0115 49017964 59840452615 000093 ticktime 0 15:02:03 1 15:02:03 2 15:02:03 3 15:02:03 4 15:02:03 .. ... 635 15:02:03 636 15:02:03 637 15:02:03 638 15:02:03 639 15:02:03 """ big_df = pd.DataFrame() page_count = get_zh_index_page_count() zh_sina_stock_payload_copy = zh_sina_index_stock_payload.copy() for page in range(1, page_count + 1): # print(page) zh_sina_stock_payload_copy.update({"page": page}) res = requests.get(zh_sina_index_stock_url, params=zh_sina_stock_payload_copy) data_json = demjson.decode(res.text) big_df = big_df.append(pd.DataFrame(data_json), ignore_index=True) return big_df
def stock_zh_index_spot() -> pd.DataFrame: """ 新浪财经-指数-, 大量抓取容易封IP http://vip.stock.finance.sina.com.cn/mkt/#hs_s :return: 所有指数的实时行情数据 :rtype: pandas.DataFrame """ big_df = pd.DataFrame() page_count = get_zh_index_page_count() zh_sina_stock_payload_copy = zh_sina_index_stock_payload.copy() for page in range(1, page_count + 1): # print(page) zh_sina_stock_payload_copy.update({"page": page}) res = requests.get(zh_sina_index_stock_url, params=zh_sina_stock_payload_copy) data_json = demjson.decode(res.text) big_df = big_df.append(pd.DataFrame(data_json), ignore_index=True) return big_df