Ejemplo n.º 1
0
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
Ejemplo n.º 2
0
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
Ejemplo n.º 3
0
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
Ejemplo n.º 4
0
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