{"id":172,"date":"2021-09-10T16:11:26","date_gmt":"2021-09-10T08:11:26","guid":{"rendered":"http:\/\/82.156.18.209\/wordpress\/?p=172"},"modified":"2023-09-23T20:04:20","modified_gmt":"2023-09-23T12:04:20","slug":"%e8%82%a1%e7%a5%a8%e6%97%a5%e7%ba%bf%e6%95%b0%e6%8d%ae%e4%b8%8b%e8%bd%bd-%e4%bb%8e%e9%9b%b6%e5%88%b0%e5%ae%9e%e7%9b%983","status":"publish","type":"post","link":"\/?p=172","title":{"rendered":"\u80a1\u7968\u65e5\u7ebf\u6570\u636e\u4e0b\u8f7d\u2014\u2014\u4ece\u96f6\u5230\u5b9e\u76d83"},"content":{"rendered":"<p>\u524d\u6587\u4ecb\u7ecd\u4e86\u4eceBaoStock\u4e0b\u8f7d\u80a1\u7968\u4ee3\u7801\uff0c\u672c\u6587\u8bb0\u5f55\u5229\u7528\u8fd9\u4e9b\u80a1\u7968\u4ee3\u7801\u4e0b\u8f7d\u80a1\u7968\u65e5\u7ebf\u6570\u636e\u7684\u8fc7\u7a0b\u3002<\/p>\n<h1>\u4e3b\u8981\u4ee3\u7801\u5206\u6790<\/h1>\n<p>\u53c2\u8003<a class=\"wp-editor-md-post-content-link\" href=\"\/?p=57\" title=\"\u4e0a\u6587\">\u524d\u6587<\/a>\uff0c\u65b0\u5efa\u6e90\u6587\u4ef6\uff0c\u65b0\u6587\u4ef6\u547d\u540d\u4e3adata_center_v2.py\uff0c\u5168\u90e8\u5185\u5bb9\u89c1\u6587\u672b\uff0cv2\u6bd4v1\u65b0\u589e\u4e86\u51fd\u6570create_data\uff1a<\/p>\n<pre><code class=\"language-python line-numbers\">def create_data(stock_codes, from_date='1990-12-19', to_date=datetime.date.today().strftime('%Y-%m-%d'), adjustflag='2'):\n<\/code><\/pre>\n<p>\u8be5\u51fd\u6570\u7528\u4e8e\u4e0b\u8f7d\u6307\u5b9a\u65e5\u671f\u5185\uff0c\u6307\u5b9a\u80a1\u7968\u7684\u65e5\u7ebf\u6570\u636e\u3002\u5176\u4e2d:<br \/>\n&#8211; \u53c2\u6570stock_codes\u4e3a\u5f85\u4e0b\u8f7d\u6570\u636e\u7684\u80a1\u7968\u4ee3\u7801<br \/>\n&#8211; \u53c2\u6570from_date\u4e3a\u65e5\u7ebf\u5f00\u59cb\u65e5\u671f\uff0c\u9ed8\u8ba4\u4e3a1990-12-19<br \/>\n&#8211; \u53c2\u6570to_date\u4e3a\u65e5\u7ebf\u7ed3\u675f\u65e5\u671f\uff0c\u9ed8\u8ba4\u4e3a\u51fd\u6570\u8c03\u7528\u5f53\u65e5<br \/>\n&#8211; \u53c2\u6570adjustflag\u4e3a\u590d\u6743\u9009\u9879\uff0c\u4e3a1\u65f6\u8868\u793a\u540e\u590d\u6743\uff0c\u4e3a2\u65f6\u8868\u793a\u524d\u590d\u6743\uff0c\u4e3a3\u65f6\u8868\u793a\u4e0d\u590d\u6743\uff0c\u9ed8\u8ba4\u4e3a\u524d\u590d\u6743<br \/>\n&#8211; \u8fd4\u56de\u503c\u4e3a\u7a7a<\/p>\n<pre><code class=\"language-python line-numbers\">    for code in stock_codes:\n<\/code><\/pre>\n<p>\u4e0b\u8f7d\u80a1\u7968\u5faa\u73af\u3002<\/p>\n<pre><code class=\"language-python line-numbers\">        bs.login()\n<\/code><\/pre>\n<p>\u767b\u5f55BaoStock\uff0c\u6bcf\u6b21\u4eceBaoStock\u67e5\u8be2\u6570\u636e\u524d\uff0c\u90fd\u9700\u8981\u5148\u767b\u5f55\u3002<\/p>\n<pre><code class=\"language-python line-numbers\">        out_df = bs.query_history_k_data_plus(code, g_baostock_data_fields, start_date=from_date, end_date=to_date,\n                                              frequency='d', adjustflag=adjustflag).get_data()\n<\/code><\/pre>\n<p>\u8c03\u7528BaoStock\u7684query_history_k_data_plus\u51fd\u6570\uff0c\u8be5\u51fd\u6570\u5b98\u65b9\u6587\u6863\u8bf4\u660e\u5982\u4e0b\uff1a<\/p>\n<blockquote><p>\n  \u65b9\u6cd5\u8bf4\u660e\uff1a\u901a\u8fc7API\u63a5\u53e3\u83b7\u53d6A\u80a1\u5386\u53f2\u4ea4\u6613\u6570\u636e\uff0c\u53ef\u4ee5\u901a\u8fc7\u53c2\u6570\u8bbe\u7f6e\u83b7\u53d6\u65e5k\u7ebf\u3001\u5468k\u7ebf\u3001\u6708k\u7ebf\uff0c\u4ee5\u53ca5\u5206\u949f\u300115\u5206\u949f\u300130\u5206\u949f\u548c60\u5206\u949fk\u7ebf\u6570\u636e\uff0c\u9002\u5408\u642d\u914d\u5747\u7ebf\u6570\u636e\u8fdb\u884c\u9009\u80a1\u548c\u5206\u6790\u3002<br \/>\n  \u8fd4\u56de\u7c7b\u578b\uff1apandas\u7684DataFrame\u7c7b\u578b\u3002<br \/>\n  \u80fd\u83b7\u53d61990-12-19\u81f3\u5f53\u524d\u65f6\u95f4\u7684\u6570\u636e\uff1b<br \/>\n  \u53ef\u67e5\u8be2\u4e0d\u590d\u6743\u3001\u524d\u590d\u6743\u3001\u540e\u590d\u6743\u6570\u636e\u3002\n<\/p><\/blockquote>\n<p>\u8fd9\u91cc\u6211\u4eec\u5b9a\u4e49\u4e86\u5168\u5c40\u53d8\u91cf<br \/>\n&#8220;`g_baostock_data_fields&#8220;`\u6765\u8bb0\u5f55\u9700\u8981\u4e0b\u8f7d\u7684\u65e5\u7ebf\u6570\u636e\u5b57\u6bb5\uff1a<\/p>\n<pre><code class=\"language-python line-numbers\">g_baostock_data_fields = 'date,open,high,low,close,preclose,volume,amount,adjustflag,turn,tradestatus,pctChg,peTTM,pbMRQ, psTTM,pcfNcfTTM,isST'\n<\/code><\/pre>\n<p>\u66f4\u591a\u8bf4\u660e\u53c2\u89c1\u53ef\u53c2\u8003<a class=\"wp-editor-md-post-content-link\" href=\"http:\/\/baostock.com\/baostock\/index.php\/A%E8%82%A1K%E7%BA%BF%E6%95%B0%E6%8D%AE\" title=\"\u5b98\u65b9\u94fe\u63a5\">\u5b98\u65b9\u94fe\u63a5<\/a>\u3002<\/p>\n<p>\u5c06\u4e0b\u8f7d\u6570\u636e\u8f6c\u4e3aDataFrame\u3002\u540cquery_all_stock\u51fd\u6570\u4e00\u6837\uff0cquery_history_k_data_plus\u7684\u8fd4\u56de\u503c\u7c7b\u578b\u4e5f\u662f<class 'baostock.data.resultset.ResultData'>\uff0c\u800c\u975eDataFrame\uff0c\u4e5f\u901a\u8fc7get_data\u51fd\u6570\u8fd4\u56deDataFrame\u7c7b\u578b\u7684\u6570\u636e\u3002<\/p>\n<pre><code class=\"language-python line-numbers\">        bs.logout()\n<\/code><\/pre>\n<p>\u6ce8\u9500BaoStock\u767b\u5f55\u3002<\/p>\n<pre><code class=\"language-python line-numbers\">        if out_df.shape[0]:\n            out_df = out_df[(out_df['volume'] != '0') &amp; (out_df['volume'] != '')]\n<\/code><\/pre>\n<p>\u5254\u9664\u505c\u76d8\u6570\u636e\u5e76\u6253\u5370\u6700\u7ec8\u4e0b\u8f7d\u6570\u636e\u7ed3\u679c\u3002\u5728\u56de\u6d4b\u8fc7\u7a0b\u4e2d\uff0c\u901a\u5e38\u4e0d\u9700\u8981\u505c\u76d8\u6570\u636e\u5bf9\u56de\u6d4b\u9020\u6210\u5e72\u6270\uff0c\u8fd9\u91cc\u9009\u62e9\u76f4\u63a5\u5c06\u8fd9\u4e9b\u6570\u636e\u5220\u9664\u3002\u5f53out_df\u4e0d\u4e3a\u7a7a\u65f6\uff0c\u7b5b\u9009\u51fa\u6210\u4ea4\u91cf\u4e3a\u975e&#8217;0&#8217;\u6216\u8005\u7a7a\u5b57\u7b26&#8221;\u7684\u884c\uff0c\u5373\u5254\u9664\u4e86\u505c\u76d8\u6570\u636e\u3002\u8fd9\u91cc\u9700\u8981\u6ce8\u610f\u7684\u662f\uff0c\u4eceBaoStock\u4e0b\u8f7d\u7684\u65e5\u7ebf\u6570\u636e\u5143\u7d20\u7c7b\u578b\u5747\u4e3aobject\uff0c\u56e0\u6b64\u8fd9\u91cc\u8981\u4f7f\u7528str\u7c7b\u578b&#8217;0&#8217;\u4f5c\u5224\u65ad\uff0c\u800c\u975e\u6574\u5f620\u3002<br \/>\n\u4ee5603016\u65b0\u5b8f\u6cf0\u4e3a\u4f8b\uff0c\u8be5\u80a1\u7968\u57282017-12-21\u81f32017-12-28\u505c\u76d8\uff0c\u6211\u4eec\u622a\u53d62017-12-20\u81f32017-12-29\u4e4b\u95f4\u7684\u6570\u636e\u6253\u5370\uff0c\u53ea\u9009\u62e9\u6253\u5370\u5217date\u3001open\u3001close\u3001volume<\/p>\n<pre><code class=\"language-python line-numbers\">print(out_df[(out_df['date'] &gt;= '2017-12-20') &amp; (out_df['date'] &lt;= '2017-12-29')][['date', 'open', 'close', 'volume']]) # test code\n<\/code><\/pre>\n<p>\u6253\u5370\u7ed3\u679c\u4e3a\uff1a<\/p>\n<pre><code class=\"language-bash line-numbers\">          date           open          close  volume\n360  2017-12-20  37.2596538300  37.0382545500  438502\n367  2017-12-29  33.3390415800  33.3390415800  101000\n<\/code><\/pre>\n<p>\u5982\u679c\u4e0d\u5254\u9664\u505c\u76d8\u6570\u636e\uff0c\u6253\u5370\u7ed3\u679c\u4e3a\uff1a<\/p>\n<pre><code class=\"language-bash line-numbers\">           date           open          close  volume\n360  2017-12-20  37.2596538300  37.0382545500  438502\n361  2017-12-21  37.0382545500  37.0382545500       0\n362  2017-12-22  37.0382545500  37.0382545500       0\n363  2017-12-25  37.0382545500  37.0382545500       0\n364  2017-12-26  37.0382545500  37.0382545500       0\n365  2017-12-27  37.0382545500  37.0382545500       0\n366  2017-12-28  37.0382545500  37.0382545500       0\n367  2017-12-29  33.3390415800  33.3390415800  101000\n<\/code><\/pre>\n<p>\u53ef\u4ee5\u770b\u5230\uff0c2017-12-21\u81f32017-12-28\u505c\u76d8\u671f\u95f4volume\u7684\u503c\u5747\u4e3a&#8217;0&#8217;\uff08\u4e5f\u6709\u65f6\u7a7a\u5b57\u7b26&#8221;\u7684\u60c5\u51b5\uff09\uff0copen\u3001close\u503c\u4e0e\u505c\u76d8\u524d\u76f8\u540c\uff08low\u3001high\u4e0e\u505c\u76d8\u524d\u4e5f\u76f8\u540c\uff09\u3002\u5728\u540e\u7eed\u4f7f\u7528\u6570\u636e\u65f6\uff0c\u5982\u679c\u4e0d\u5254\u9664\u505c\u76d8\u6570\u636e\uff0c\u8fd9\u4e9b\u70b9\u9700\u8981\u6ce8\u610f\u3002<\/p>\n<h1>\u5c0f\u7ed3<\/h1>\n<p>\u81f3\u6b64\uff0c\u7a0b\u5e8f\u80fd\u591f\u6253\u5370\u4e0b\u8f7d\u7684\u6240\u6709\u6570\u636e\u3002data_center_v2.py\u662f\u4e00\u4e2a\u4e34\u65f6\u7248\u672c\uff0c\u4e0d\u9700\u8981\u7b49\u5f85\u7a0b\u5e8f\u90fd\u6267\u884c\u5b8c\u6bd5\uff0c\u53ea\u8981\u786e\u4fdd\u7a0b\u5e8f\u80fd\u6b63\u5e38\u8fd0\u884c\u5373\u53ef\u3002\u8fd9\u91cc\u53ea\u5bf9\u6570\u636e\u8fdb\u884c\u4e86\u6253\u5370\uff0c\u6ca1\u6709\u5b58\u50a8\u6570\u636e\uff0c\u540e\u7eed\u4f1a\u4f7f\u7528\u4e0b\u8f7d\u7684\u6570\u636e\u8ba1\u7b97\u6269\u5c55\u6307\u6807\uff0c\u6539\u4e3a\u591a\u8fdb\u7a0b\uff0c\u6700\u540e\u518d\u5c06\u6570\u636e\u5b58\u5165MySQL\u3002<\/p>\n<hr \/>\n<p>data_center_v2.py\u7684\u5168\u90e8\u4ee3\u7801\u5982\u4e0b\uff1a<\/p>\n<pre><code class=\"language-python line-numbers\">import baostock as bs\nimport datetime\nimport sys\n\n# BaoStock\u65e5\u7ebf\u6570\u636e\u5b57\u6bb5\ng_baostock_data_fields = 'date,open,high,low,close,preclose,volume,amount,adjustflag,turn,tradestatus,pctChg,peTTM,pbMRQ, psTTM,pcfNcfTTM,isST'\n\n\ndef get_stock_codes(date=None):\n    \"\"\"\n    \u83b7\u53d6\u6307\u5b9a\u65e5\u671f\u7684A\u80a1\u4ee3\u7801\u5217\u8868\n\n    \u82e5\u53c2\u6570date\u4e3a\u7a7a\uff0c\u5219\u8fd4\u56de\u6700\u8fd11\u4e2a\u4ea4\u6613\u65e5\u7684A\u80a1\u4ee3\u7801\u5217\u8868\n    \u82e5\u53c2\u6570date\u4e0d\u4e3a\u7a7a\uff0c\u4e14\u4e3a\u4ea4\u6613\u65e5\uff0c\u5219\u8fd4\u56dedate\u5f53\u65e5\u7684A\u80a1\u4ee3\u7801\u5217\u8868\n    \u82e5\u53c2\u6570date\u4e0d\u4e3a\u7a7a\uff0c\u4f46\u4e0d\u4e3a\u4ea4\u6613\u65e5\uff0c\u5219\u6253\u5370\u63d0\u793a\u975e\u4ea4\u6613\u65e5\u4fe1\u606f\uff0c\u7a0b\u5e8f\u9000\u51fa\n\n    :param date: \u65e5\u671f\n    :return: A\u80a1\u4ee3\u7801\u7684\u5217\u8868\n    \"\"\"\n\n    # \u767b\u5f55baostock\n    bs.login()\n\n    # \u4eceBaoStock\u67e5\u8be2\u80a1\u7968\u6570\u636e\n    stock_df = bs.query_all_stock(date).get_data()\n\n    # \u5982\u679c\u83b7\u53d6\u6570\u636e\u957f\u5ea6\u4e3a0\uff0c\u8868\u793a\u65e5\u671fdate\u975e\u4ea4\u6613\u65e5\n    if 0 == len(stock_df):\n\n        # \u5982\u679c\u8bbe\u7f6e\u4e86\u53c2\u6570date\uff0c\u5219\u6253\u5370\u4fe1\u606f\u63d0\u793adate\u4e3a\u975e\u4ea4\u6613\u65e5\n        if date is not None:\n            print('\u5f53\u524d\u9009\u62e9\u65e5\u671f\u4e3a\u975e\u4ea4\u6613\u65e5\u6216\u5c1a\u65e0\u4ea4\u6613\u6570\u636e\uff0c\u8bf7\u8bbe\u7f6edate\u4e3a\u5386\u53f2\u67d0\u4ea4\u6613\u65e5\u65e5\u671f')\n            sys.exit(0)\n\n        # \u672a\u8bbe\u7f6e\u53c2\u6570date\uff0c\u5219\u5411\u5386\u53f2\u67e5\u627e\u6700\u8fd1\u7684\u4ea4\u6613\u65e5\uff0c\u5f53\u83b7\u53d6\u80a1\u7968\u6570\u636e\u957f\u5ea6\u975e0\u65f6\uff0c\u5373\u627e\u5230\u6700\u8fd1\u4ea4\u6613\u65e5\n        delta = 1\n        while 0 == len(stock_df):\n            stock_df = bs.query_all_stock(datetime.date.today() - datetime.timedelta(days=delta)).get_data()\n            delta += 1\n\n    # \u6ce8\u9500\u767b\u5f55\n    bs.logout()\n\n    # \u7b5b\u9009\u80a1\u7968\u6570\u636e\uff0c\u4e0a\u8bc1\u548c\u6df1\u8bc1\u80a1\u7968\u4ee3\u7801\u5728sh.600000\u4e0esz.39900\u4e4b\u95f4\n    stock_df = stock_df[(stock_df['code'] &gt;= 'sh.600000') &amp; (stock_df['code'] &lt; 'sz.399000')]\n\n    # \u8fd4\u56de\u80a1\u7968\u5217\u8868\n    return stock_df['code'].tolist()\n\n\ndef create_data(stock_codes, from_date='1990-12-19', to_date=datetime.date.today().strftime('%Y-%m-%d'), adjustflag='2'):\n    \"\"\"\n    \u4e0b\u8f7d\u6307\u5b9a\u65e5\u671f\u5185\uff0c\u6307\u5b9a\u80a1\u7968\u7684\u65e5\u7ebf\u6570\u636e\n\n    :param stock_codes: \u5f85\u4e0b\u8f7d\u6570\u636e\u7684\u80a1\u7968\u4ee3\u7801\n    :param from_date: \u65e5\u7ebf\u5f00\u59cb\u65e5\u671f\n    :param to_date: \u65e5\u7ebf\u7ed3\u675f\u65e5\u671f\n    :param adjustflag: \u590d\u6743\u9009\u9879 1\uff1a\u540e\u590d\u6743  2\uff1a\u524d\u590d\u6743  3\uff1a\u4e0d\u590d\u6743  \u9ed8\u8ba4\u4e3a\u524d\u590d\u6743\n    :return: None\n    \"\"\"\n\n    # \u4e0b\u8f7d\u80a1\u7968\u5faa\u73af\n    for code in stock_codes:\n        print('\u6b63\u5728\u4e0b\u8f7d{}...'.format(code))\n\n        # \u767b\u5f55BaoStock\n        bs.login()\n\n        # \u4e0b\u8f7d\u65e5\u7ebf\u6570\u636e\n        out_df = bs.query_history_k_data_plus(code, g_baostock_data_fields, start_date=from_date, end_date=to_date,\n                                              frequency='d', adjustflag=adjustflag).get_data()\n\n        # \u6ce8\u9500\u767b\u5f55\n        bs.logout()\n\n        # \u5254\u9664\u505c\u76d8\u6570\u636e\n        if out_df.shape[0]:\n            out_df = out_df[(out_df['volume'] != '0') &amp; (out_df['volume'] != '')]\n\n        print(out_df)\n\n\nif __name__ == '__main__':\n    stock_codes = get_stock_codes()\n    create_data(stock_codes)\n<\/code><\/pre>\n<hr \/>\n<p><strong>\u535a\u5ba2\u5185\u5bb9\u53ea\u7528\u4e8e\u4ea4\u6d41\u5b66\u4e60\uff0c\u4e0d\u6784\u6210\u6295\u8d44\u5efa\u8bae\uff0c\u76c8\u4e8f\u81ea\u8d1f\uff01<\/strong><\/p>\n<p>\u6b22\u8fce\u5927\u5bb6\u8f6c\u53d1\u3001\u7559\u8a00\u3002\u5df2\u5efa\u5fae\u4fe1\u7fa4\u7528\u4e8e\u5b66\u4e60\u4ea4\u6d41\uff0c\u7fa41\u5df2\u6ee1\uff0c\u7fa42\u5df2\u521b\u5efa\uff0c\u611f\u5174\u8da3\u7684\u8bfb\u8005\u8bf7\u626b\u7801\u52a0\u5fae\u4fe1\uff01<\/p>\n<p>\u5982\u679c\u8ba4\u4e3a\u535a\u5ba2\u5bf9\u60a8\u6709\u5e2e\u52a9\uff0c\u53ef\u4ee5\u626b\u7801\u8fdb\u884c\u6350\u8d60\uff0c\u611f\u8c22\uff01<\/p>\n<table>\n<thead>\n<tr>\n<th align=\"center\">\u5fae\u4fe1\u4e8c\u7ef4\u7801<\/th>\n<th align=\"center\">\u5fae\u4fe1\u6350\u8d60\u4e8c\u7ef4\u7801<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td align=\"center\"><img decoding=\"async\" src=\"\/wordpress\/wp-content\/uploads\/2021\/11\/wechat_margin.png\" alt=\"\u5fae\u4fe1\u4e8c\u7ef4\u7801\" \/><\/td>\n<td align=\"center\"><img decoding=\"async\" src=\"\/wordpress\/wp-content\/uploads\/2021\/09\/wechatpay.png\" alt=\"\u6350\u8d60\u4e8c\u7ef4\u7801\" \/><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<style>\npre{\n    white-space: pre;\n    overflow-x: auto;\n    overflow-y: auto;\n    max-height: 300px;\n}\n.table-wrapper {\n    overflow-x: auto;\n    overflow-y: auto;\n    white-space: nowrap;\n    max-height: 300px;\n}\n<\/style>\n","protected":false},"excerpt":{"rendered":"<p>\u524d\u6587\u4ecb\u7ecd\u4e86\u4eceBaoStock\u4e0b\u8f7d\u80a1\u7968\u4ee3\u7801\uff0c\u672c\u6587\u8bb0\u5f55\u5229\u7528\u8fd9\u4e9b\u80a1\u7968\u4ee3\u7801\u4e0b\u8f7d\u80a1\u7968\u65e5\u7ebf\u6570\u636e\u7684\u8fc7\u7a0b\u3002 \u4e3b\u8981\u4ee3\u7801\u5206\u6790 \u53c2\u8003 &#8230; <a title=\"\u80a1\u7968\u65e5\u7ebf\u6570\u636e\u4e0b\u8f7d\u2014\u2014\u4ece\u96f6\u5230\u5b9e\u76d83\" class=\"read-more\" href=\"\/?p=172\" aria-label=\"\u7ee7\u7eed\u9605\u8bfb\u80a1\u7968\u65e5\u7ebf\u6570\u636e\u4e0b\u8f7d\u2014\u2014\u4ece\u96f6\u5230\u5b9e\u76d83\">\u9605\u8bfb\u66f4\u591a<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[2],"tags":[],"class_list":["post-172","post","type-post","status-publish","format-standard","hentry","category-2"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v21.3 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>\u80a1\u7968\u65e5\u7ebf\u6570\u636e\u4e0b\u8f7d\u2014\u2014\u4ece\u96f6\u5230\u5b9e\u76d83 - Python\u91cf\u5316\u6280\u672f\u5206\u4eab<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"http:\/\/coderx.com.cn\/\" \/>\n<meta property=\"og:locale\" content=\"zh_CN\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"\u80a1\u7968\u65e5\u7ebf\u6570\u636e\u4e0b\u8f7d\u2014\u2014\u4ece\u96f6\u5230\u5b9e\u76d83 - Python\u91cf\u5316\u6280\u672f\u5206\u4eab\" \/>\n<meta property=\"og:description\" content=\"\u524d\u6587\u4ecb\u7ecd\u4e86\u4eceBaoStock\u4e0b\u8f7d\u80a1\u7968\u4ee3\u7801\uff0c\u672c\u6587\u8bb0\u5f55\u5229\u7528\u8fd9\u4e9b\u80a1\u7968\u4ee3\u7801\u4e0b\u8f7d\u80a1\u7968\u65e5\u7ebf\u6570\u636e\u7684\u8fc7\u7a0b\u3002 \u4e3b\u8981\u4ee3\u7801\u5206\u6790 \u53c2\u8003 ... \u9605\u8bfb\u66f4\u591a\" \/>\n<meta property=\"og:url\" content=\"\/?p=172\" \/>\n<meta property=\"og:site_name\" content=\"Python\u91cf\u5316\u6280\u672f\u5206\u4eab\" \/>\n<meta property=\"article:published_time\" content=\"2021-09-10T08:11:26+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2023-09-23T12:04:20+00:00\" \/>\n<meta name=\"author\" content=\"mnj\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"\u4f5c\u8005\" \/>\n\t<meta name=\"twitter:data1\" content=\"mnj\" \/>\n\t<meta name=\"twitter:label2\" content=\"\u9884\u8ba1\u9605\u8bfb\u65f6\u95f4\" \/>\n\t<meta name=\"twitter:data2\" content=\"2 \u5206\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"http:\/\/coderx.com.cn\/#article\",\"isPartOf\":{\"@id\":\"\/?p=172\"},\"author\":{\"name\":\"mnj\",\"@id\":\"http:\/\/coderx.com.cn\/#\/schema\/person\/a6c1fee270f0514e289f697c4a529ee9\"},\"headline\":\"\u80a1\u7968\u65e5\u7ebf\u6570\u636e\u4e0b\u8f7d\u2014\u2014\u4ece\u96f6\u5230\u5b9e\u76d83\",\"datePublished\":\"2021-09-10T08:11:26+00:00\",\"dateModified\":\"2023-09-23T12:04:20+00:00\",\"mainEntityOfPage\":{\"@id\":\"\/?p=172\"},\"wordCount\":102,\"commentCount\":7,\"publisher\":{\"@id\":\"http:\/\/coderx.com.cn\/#\/schema\/person\/a6c1fee270f0514e289f697c4a529ee9\"},\"articleSection\":[\"\u4ece\u96f6\u5230\u5b9e\u76d8\"],\"inLanguage\":\"zh-Hans\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"http:\/\/coderx.com.cn\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"\/?p=172\",\"url\":\"http:\/\/coderx.com.cn\/\",\"name\":\"\u80a1\u7968\u65e5\u7ebf\u6570\u636e\u4e0b\u8f7d\u2014\u2014\u4ece\u96f6\u5230\u5b9e\u76d83 - Python\u91cf\u5316\u6280\u672f\u5206\u4eab\",\"isPartOf\":{\"@id\":\"http:\/\/coderx.com.cn\/#website\"},\"datePublished\":\"2021-09-10T08:11:26+00:00\",\"dateModified\":\"2023-09-23T12:04:20+00:00\",\"breadcrumb\":{\"@id\":\"http:\/\/coderx.com.cn\/#breadcrumb\"},\"inLanguage\":\"zh-Hans\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"http:\/\/coderx.com.cn\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"http:\/\/coderx.com.cn\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"\u9996\u9875\",\"item\":\"http:\/\/coderx.com.cn\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"\u80a1\u7968\u65e5\u7ebf\u6570\u636e\u4e0b\u8f7d\u2014\u2014\u4ece\u96f6\u5230\u5b9e\u76d83\"}]},{\"@type\":\"WebSite\",\"@id\":\"http:\/\/coderx.com.cn\/#website\",\"url\":\"http:\/\/coderx.com.cn\/\",\"name\":\"Python\u91cf\u5316\u6280\u672f\u5206\u4eab-\u7801\u519c\u7532\u7684\u5b66\u4e60\u7b14\u8bb0\",\"description\":\"\u7801\u519c\u7532\u7684\u5b66\u4e60\u7b14\u8bb0\",\"publisher\":{\"@id\":\"http:\/\/coderx.com.cn\/#\/schema\/person\/a6c1fee270f0514e289f697c4a529ee9\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"http:\/\/coderx.com.cn\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"zh-Hans\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"http:\/\/coderx.com.cn\/#\/schema\/person\/a6c1fee270f0514e289f697c4a529ee9\",\"name\":\"mnj\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"zh-Hans\",\"@id\":\"http:\/\/coderx.com.cn\/#\/schema\/person\/image\/\",\"url\":\"\/wordpress\/wp-content\/uploads\/2021\/09\/cropped-1-2.jpg\",\"contentUrl\":\"\/wordpress\/wp-content\/uploads\/2021\/09\/cropped-1-2.jpg\",\"width\":951,\"height\":189,\"caption\":\"mnj\"},\"logo\":{\"@id\":\"http:\/\/coderx.com.cn\/#\/schema\/person\/image\/\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"\u80a1\u7968\u65e5\u7ebf\u6570\u636e\u4e0b\u8f7d\u2014\u2014\u4ece\u96f6\u5230\u5b9e\u76d83 - Python\u91cf\u5316\u6280\u672f\u5206\u4eab","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"http:\/\/coderx.com.cn\/","og_locale":"zh_CN","og_type":"article","og_title":"\u80a1\u7968\u65e5\u7ebf\u6570\u636e\u4e0b\u8f7d\u2014\u2014\u4ece\u96f6\u5230\u5b9e\u76d83 - Python\u91cf\u5316\u6280\u672f\u5206\u4eab","og_description":"\u524d\u6587\u4ecb\u7ecd\u4e86\u4eceBaoStock\u4e0b\u8f7d\u80a1\u7968\u4ee3\u7801\uff0c\u672c\u6587\u8bb0\u5f55\u5229\u7528\u8fd9\u4e9b\u80a1\u7968\u4ee3\u7801\u4e0b\u8f7d\u80a1\u7968\u65e5\u7ebf\u6570\u636e\u7684\u8fc7\u7a0b\u3002 \u4e3b\u8981\u4ee3\u7801\u5206\u6790 \u53c2\u8003 ... \u9605\u8bfb\u66f4\u591a","og_url":"\/?p=172","og_site_name":"Python\u91cf\u5316\u6280\u672f\u5206\u4eab","article_published_time":"2021-09-10T08:11:26+00:00","article_modified_time":"2023-09-23T12:04:20+00:00","author":"mnj","twitter_card":"summary_large_image","twitter_misc":{"\u4f5c\u8005":"mnj","\u9884\u8ba1\u9605\u8bfb\u65f6\u95f4":"2 \u5206"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"http:\/\/coderx.com.cn\/#article","isPartOf":{"@id":"\/?p=172"},"author":{"name":"mnj","@id":"http:\/\/coderx.com.cn\/#\/schema\/person\/a6c1fee270f0514e289f697c4a529ee9"},"headline":"\u80a1\u7968\u65e5\u7ebf\u6570\u636e\u4e0b\u8f7d\u2014\u2014\u4ece\u96f6\u5230\u5b9e\u76d83","datePublished":"2021-09-10T08:11:26+00:00","dateModified":"2023-09-23T12:04:20+00:00","mainEntityOfPage":{"@id":"\/?p=172"},"wordCount":102,"commentCount":7,"publisher":{"@id":"http:\/\/coderx.com.cn\/#\/schema\/person\/a6c1fee270f0514e289f697c4a529ee9"},"articleSection":["\u4ece\u96f6\u5230\u5b9e\u76d8"],"inLanguage":"zh-Hans","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["http:\/\/coderx.com.cn\/#respond"]}]},{"@type":"WebPage","@id":"\/?p=172","url":"http:\/\/coderx.com.cn\/","name":"\u80a1\u7968\u65e5\u7ebf\u6570\u636e\u4e0b\u8f7d\u2014\u2014\u4ece\u96f6\u5230\u5b9e\u76d83 - Python\u91cf\u5316\u6280\u672f\u5206\u4eab","isPartOf":{"@id":"http:\/\/coderx.com.cn\/#website"},"datePublished":"2021-09-10T08:11:26+00:00","dateModified":"2023-09-23T12:04:20+00:00","breadcrumb":{"@id":"http:\/\/coderx.com.cn\/#breadcrumb"},"inLanguage":"zh-Hans","potentialAction":[{"@type":"ReadAction","target":["http:\/\/coderx.com.cn\/"]}]},{"@type":"BreadcrumbList","@id":"http:\/\/coderx.com.cn\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"\u9996\u9875","item":"http:\/\/coderx.com.cn\/"},{"@type":"ListItem","position":2,"name":"\u80a1\u7968\u65e5\u7ebf\u6570\u636e\u4e0b\u8f7d\u2014\u2014\u4ece\u96f6\u5230\u5b9e\u76d83"}]},{"@type":"WebSite","@id":"http:\/\/coderx.com.cn\/#website","url":"http:\/\/coderx.com.cn\/","name":"Python\u91cf\u5316\u6280\u672f\u5206\u4eab-\u7801\u519c\u7532\u7684\u5b66\u4e60\u7b14\u8bb0","description":"\u7801\u519c\u7532\u7684\u5b66\u4e60\u7b14\u8bb0","publisher":{"@id":"http:\/\/coderx.com.cn\/#\/schema\/person\/a6c1fee270f0514e289f697c4a529ee9"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"http:\/\/coderx.com.cn\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"zh-Hans"},{"@type":["Person","Organization"],"@id":"http:\/\/coderx.com.cn\/#\/schema\/person\/a6c1fee270f0514e289f697c4a529ee9","name":"mnj","image":{"@type":"ImageObject","inLanguage":"zh-Hans","@id":"http:\/\/coderx.com.cn\/#\/schema\/person\/image\/","url":"\/wordpress\/wp-content\/uploads\/2021\/09\/cropped-1-2.jpg","contentUrl":"\/wordpress\/wp-content\/uploads\/2021\/09\/cropped-1-2.jpg","width":951,"height":189,"caption":"mnj"},"logo":{"@id":"http:\/\/coderx.com.cn\/#\/schema\/person\/image\/"}}]}},"_links":{"self":[{"href":"http:\/\/coderx.com.cn\/index.php?rest_route=\/wp\/v2\/posts\/172","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/coderx.com.cn\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/coderx.com.cn\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/coderx.com.cn\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/coderx.com.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=172"}],"version-history":[{"count":15,"href":"http:\/\/coderx.com.cn\/index.php?rest_route=\/wp\/v2\/posts\/172\/revisions"}],"predecessor-version":[{"id":514,"href":"http:\/\/coderx.com.cn\/index.php?rest_route=\/wp\/v2\/posts\/172\/revisions\/514"}],"wp:attachment":[{"href":"http:\/\/coderx.com.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=172"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/coderx.com.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=172"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/coderx.com.cn\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=172"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}