Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

请问如何获取历史某一天的1分钟数据 #35

Closed
cee21992 opened this issue Jan 25, 2022 · 33 comments
Closed

请问如何获取历史某一天的1分钟数据 #35

cee21992 opened this issue Jan 25, 2022 · 33 comments

Comments

@cee21992
Copy link

get_quote_history获取的1分钟数据只有最近一天的,5分钟可以历史数据,但是1分钟不行

@Micro-sheep
Copy link
Owner

get_quote_history获取的1分钟数据只有最近一天的,5分钟可以历史数据,但是1分钟不行

目前无法获取除了最新一个交易日外,历史上某一天的 1 分钟数据。

@gavinzhang1995
Copy link

大佬有想法实现一下吗,想多搞点数据分析

@Micro-sheep
Copy link
Owner

Micro-sheep commented Jan 28, 2022

大佬有想法实现一下吗,想多搞点数据分析

实现是可以实现,不过不是基于东方财富,获取速度会比较慢,后续考虑加一下。

@cee21992
Copy link
Author

大佬有想法实现一下吗,想多搞点数据分析

实现是可以实现,不过不是基于东方财富,获取速度会比较慢,后续考虑加一下。

大佬有数据源么,目前只看到通达信有手动操作的获取方式,目前只能写了个按键精灵一天一天的拉

@gavinzhang1995
Copy link

大佬有想法实现一下吗,想多搞点数据分析

实现是可以实现,不过不是基于东方财富,获取速度会比较慢,后续考虑加一下。

大佬有数据源么,目前只看到通达信有手动操作的获取方式,目前只能写了个按键精灵一天一天的拉

大佬给了另一个接口可以去调用,不知道会不会爬太多给他爬挂了

@Micro-sheep
Copy link
Owner

大佬有想法实现一下吗,想多搞点数据分析

实现是可以实现,不过不是基于东方财富,获取速度会比较慢,后续考虑加一下。

大佬有数据源么,目前只看到通达信有手动操作的获取方式,目前只能写了个按键精灵一天一天的拉

开盘啦 这个软件里面的源倒是可以获取。

@cee21992
Copy link
Author

大佬有想法实现一下吗,想多搞点数据分析

实现是可以实现,不过不是基于东方财富,获取速度会比较慢,后续考虑加一下。

大佬有数据源么,目前只看到通达信有手动操作的获取方式,目前只能写了个按键精灵一天一天的拉

大佬给了另一个接口可以去调用,不知道会不会爬太多给他爬挂了

好像是不行的,我前几天试过如果周期是一分钟,只会返回最近一个交易日的数据不管你传啥日期都没用

@cee21992
Copy link
Author

大佬有想法实现一下吗,想多搞点数据分析

实现是可以实现,不过不是基于东方财富,获取速度会比较慢,后续考虑加一下。

大佬有数据源么,目前只看到通达信有手动操作的获取方式,目前只能写了个按键精灵一天一天的拉

开盘啦 这个软件里面的源倒是可以获取。

好像市面上除了通达信没有公开接口获取历史分时的

@gavinzhang1995
Copy link

大佬有想法实现一下吗,想多搞点数据分析

实现是可以实现,不过不是基于东方财富,获取速度会比较慢,后续考虑加一下。

大佬有数据源么,目前只看到通达信有手动操作的获取方式,目前只能写了个按键精灵一天一天的拉

开盘啦 这个软件里面的源倒是可以获取。

好像市面上除了通达信没有公开接口获取历史分时的

好像是的,尴尬了,他不理我这个传入的时间

@cee21992
Copy link
Author

大佬有想法实现一下吗,想多搞点数据分析

实现是可以实现,不过不是基于东方财富,获取速度会比较慢,后续考虑加一下。

大佬有数据源么,目前只看到通达信有手动操作的获取方式,目前只能写了个按键精灵一天一天的拉

开盘啦 这个软件里面的源倒是可以获取。

好像市面上除了通达信没有公开接口获取历史分时的

好像是的,尴尬了,他不理我这个传入的时间

主要是没有方便获取的数据源

@Micro-sheep
Copy link
Owner

大佬有想法实现一下吗,想多搞点数据分析

实现是可以实现,不过不是基于东方财富,获取速度会比较慢,后续考虑加一下。

大佬有数据源么,目前只看到通达信有手动操作的获取方式,目前只能写了个按键精灵一天一天的拉

开盘啦 这个软件里面的源倒是可以获取。

好像市面上除了通达信没有公开接口获取历史分时的

好像是的,尴尬了,他不理我这个传入的时间

我特地设置一个大的时间区间,以便能默认获取全部,不过东方财富服务器那边对稍高频数据不认可这样子的做法,所以没有返回需要的。

@gavinzhang1995
Copy link

大佬有想法实现一下吗,想多搞点数据分析

实现是可以实现,不过不是基于东方财富,获取速度会比较慢,后续考虑加一下。

大佬有数据源么,目前只看到通达信有手动操作的获取方式,目前只能写了个按键精灵一天一天的拉

开盘啦 这个软件里面的源倒是可以获取。

好像市面上除了通达信没有公开接口获取历史分时的

好像是的,尴尬了,他不理我这个传入的时间

我特地设置一个大的时间区间,以便能默认获取全部,不过东方财富服务器那边对稍高频数据不认可这样子的做法,所以没有返回需要的。

我试了一下,30min是可以获取每日,5min也可以,不行就先爬点每日五分钟的数据分析分析看看

@Micro-sheep
Copy link
Owner

大佬有想法实现一下吗,想多搞点数据分析

实现是可以实现,不过不是基于东方财富,获取速度会比较慢,后续考虑加一下。

大佬有数据源么,目前只看到通达信有手动操作的获取方式,目前只能写了个按键精灵一天一天的拉

开盘啦 这个软件里面的源倒是可以获取。

好像市面上除了通达信没有公开接口获取历史分时的

好像是的,尴尬了,他不理我这个传入的时间

主要是没有方便获取的数据源

可以接受 5 分钟的数据的话,试试 baostock,它能获取挺多的,好像是10 多年的。

@gavinzhang1995
Copy link

大佬有想法实现一下吗,想多搞点数据分析

实现是可以实现,不过不是基于东方财富,获取速度会比较慢,后续考虑加一下。

大佬有数据源么,目前只看到通达信有手动操作的获取方式,目前只能写了个按键精灵一天一天的拉

开盘啦 这个软件里面的源倒是可以获取。

好像市面上除了通达信没有公开接口获取历史分时的

好像是的,尴尬了,他不理我这个传入的时间

主要是没有方便获取的数据源

可以接受 5 分钟的数据的话,试试 baostock,它能获取挺多的,好像是10 多年的。

baostock是某个接口么,我现在还是用你的get_quote_history接口爬5分钟的数据

@cee21992
Copy link
Author

大佬有想法实现一下吗,想多搞点数据分析

实现是可以实现,不过不是基于东方财富,获取速度会比较慢,后续考虑加一下。

大佬有数据源么,目前只看到通达信有手动操作的获取方式,目前只能写了个按键精灵一天一天的拉

开盘啦 这个软件里面的源倒是可以获取。

好像市面上除了通达信没有公开接口获取历史分时的

好像是的,尴尬了,他不理我这个传入的时间

主要是没有方便获取的数据源

可以接受 5 分钟的数据的话,试试 baostock,它能获取挺多的,好像是10 多年的。

需要一分钟的,暂时通过通达信取到了本地,需要的个股也就300来个每个天数也就十来天

@gavinzhang1995
Copy link

通达信

大佬有想法实现一下吗,想多搞点数据分析

实现是可以实现,不过不是基于东方财富,获取速度会比较慢,后续考虑加一下。

大佬有数据源么,目前只看到通达信有手动操作的获取方式,目前只能写了个按键精灵一天一天的拉

开盘啦 这个软件里面的源倒是可以获取。

好像市面上除了通达信没有公开接口获取历史分时的

好像是的,尴尬了,他不理我这个传入的时间

主要是没有方便获取的数据源

可以接受 5 分钟的数据的话,试试 baostock,它能获取挺多的,好像是10 多年的。

需要一分钟的,暂时通过通达信取到了本地,需要的个股也就300来个每个天数也就十来天

不行就买点吧,这东西买了一次就够用了,后面的用这个一直爬取就好了

@Micro-sheep
Copy link
Owner

大佬有想法实现一下吗,想多搞点数据分析

实现是可以实现,不过不是基于东方财富,获取速度会比较慢,后续考虑加一下。

大佬有数据源么,目前只看到通达信有手动操作的获取方式,目前只能写了个按键精灵一天一天的拉

你这个按键精灵是怎么实现拉取数据的呢?

@cee21992
Copy link
Author

大佬有想法实现一下吗,想多搞点数据分析

实现是可以实现,不过不是基于东方财富,获取速度会比较慢,后续考虑加一下。

大佬有数据源么,目前只看到通达信有手动操作的获取方式,目前只能写了个按键精灵一天一天的拉

你这个按键精灵是怎么实现拉取数据的呢?

通达信的历史分界面右下角有个操作选项里面有导出选项,我就录制了一个脚本,把要取的个股加好自选通过pagedown和pageup还有方向键切换个股和K线,然后重复运行录制的脚本,考虑到打开历史分时界面比较慢,我延时了个2s,大概取一次数据5s,我数据少可以这样搞,睡觉前运行一下,第二天早上就好了,你那边可能不太合适,如果实在没数据源那也只能这样了

@cee21992
Copy link
Author

大佬有想法实现一下吗,想多搞点数据分析

实现是可以实现,不过不是基于东方财富,获取速度会比较慢,后续考虑加一下。

大佬有数据源么,目前只看到通达信有手动操作的获取方式,目前只能写了个按键精灵一天一天的拉

你这个按键精灵是怎么实现拉取数据的呢?

对了,下载近3个月的1分钟数据,可以批量导出到本地txt

@Micro-sheep
Copy link
Owner

大佬有想法实现一下吗,想多搞点数据分析

实现是可以实现,不过不是基于东方财富,获取速度会比较慢,后续考虑加一下。

大佬有数据源么,目前只看到通达信有手动操作的获取方式,目前只能写了个按键精灵一天一天的拉

你这个按键精灵是怎么实现拉取数据的呢?

对了,下载近3个月的1分钟数据,可以批量导出到本地txt

好的,我试试能不能获取通达信的 1 分钟数据接口。

@gavinzhang1995
Copy link

大佬有想法实现一下吗,想多搞点数据分析

实现是可以实现,不过不是基于东方财富,获取速度会比较慢,后续考虑加一下。

大佬有数据源么,目前只看到通达信有手动操作的获取方式,目前只能写了个按键精灵一天一天的拉

你这个按键精灵是怎么实现拉取数据的呢?

对了,下载近3个月的1分钟数据,可以批量导出到本地txt

好的,我试试能不能获取通达信的 1 分钟数据接口。

大佬要开始了吗?去淘宝逛了一圈,发现卖股票数据的还挺多,1分钟级的还挺贵,大佬都可以去卖数据了

@Micro-sheep
Copy link
Owner

大佬有想法实现一下吗,想多搞点数据分析

实现是可以实现,不过不是基于东方财富,获取速度会比较慢,后续考虑加一下。

大佬有数据源么,目前只看到通达信有手动操作的获取方式,目前只能写了个按键精灵一天一天的拉

你这个按键精灵是怎么实现拉取数据的呢?

对了,下载近3个月的1分钟数据,可以批量导出到本地txt

好的,我试试能不能获取通达信的 1 分钟数据接口。

大佬要开始了吗?去淘宝逛了一圈,发现卖股票数据的还挺多,1分钟级的还挺贵,大佬都可以去卖数据了

这个就没必要卖了,毕竟数据源不是自己的,能免费用已经很棒了。

@cee21992
Copy link
Author

大佬有想法实现一下吗,想多搞点数据分析

实现是可以实现,不过不是基于东方财富,获取速度会比较慢,后续考虑加一下。

大佬有数据源么,目前只看到通达信有手动操作的获取方式,目前只能写了个按键精灵一天一天的拉

你这个按键精灵是怎么实现拉取数据的呢?

对了,下载近3个月的1分钟数据,可以批量导出到本地txt

好的,我试试能不能获取通达信的 1 分钟数据接口。

大佬要开始了吗?去淘宝逛了一圈,发现卖股票数据的还挺多,1分钟级的还挺贵,大佬都可以去卖数据了

这个就没必要卖了,毕竟数据源不是自己的,能免费用已经很棒了。

点赞

@WUYAOFENGZHE
Copy link

现在是4月11日,我也来爬了,也只能搞到一周内的,请问各位大佬最后解决了没

@gavinzhang1995
Copy link

gavinzhang1995 commented Apr 11, 2022 via email

@Micro-sheep
Copy link
Owner

Micro-sheep commented Apr 11, 2022

现在是4月11日,我也来爬了,也只能搞到一周内的,请问各位大佬最后解决了没

可以用下面的代码获取历史交易日分钟数据

import requests
from efinance.utils import search_quote
from datetime import datetime
import pandas as pd
from efinance.utils import to_numeric


@to_numeric
def get_quote_history_1_minute(stock_code: str,
                             date: str) -> pd.DataFrame:
    
    """
    获取股票、债券的指定日期的 1 分钟 K 线数据
    
    Parameters
    ----------
    stock_code : str
        股票代码 或者股票代码列表
    date : str
        日期
    
    Returns
    -------
    DataFrame

    Examples
    --------
    >>> stock_code = '600519'
    >>> date = '20220304'
    >>> get_quote_history_1_minute(stock_code,date)
            股票名称    股票代码          日期     时间      最新价        均价   成交量    昨收    开盘
        0    贵州茅台  600519  2022-03-04  09:30   1772.0    1772.0   571  1800  1772
        1    贵州茅台  600519  2022-03-04  09:31   1770.0  1770.818  1039  1800  1772
        2    贵州茅台  600519  2022-03-04  09:32  1773.53  1770.957   453  1800  1772
        3    贵州茅台  600519  2022-03-04  09:33  1779.98  1772.293   496  1800  1772
        4    贵州茅台  600519  2022-03-04  09:34   1773.0   1773.12   505  1800  1772
        ..    ...     ...         ...    ...      ...       ...   ...   ...   ...
        236  贵州茅台  600519  2022-03-04  14:56  1779.23  1774.363   154  1800  1772
        237  贵州茅台  600519  2022-03-04  14:57  1781.61  1774.401   181  1800  1772
        238  贵州茅台  600519  2022-03-04  14:58  1781.88  1774.401     2  1800  1772
        239  贵州茅台  600519  2022-03-04  14:59  1781.88  1774.401     0  1800  1772
        240  贵州茅台  600519  2022-03-04  15:00   1780.5  1774.456   276  1800  1772
        [241 rows x 9 columns]
    """
    q = search_quote(stock_code)
    df = pd.DataFrame(columns=['股票名称', '股票代码', '日期', '时间',
                               '最新价', '均价', '成交量', '昨收', '开盘'])
    if not q:
        return df
    data = {
        'Day': date,
        'PhoneOSNew': '2',
        'StockID': q.code,
        'Token': '0',
        'UserID': '0',
        'VerSion': '5.2.1.0',
        'a': 'GetStockTrend',
        'apiv': 'w28',
        'c': 'StockL2History'
    }
    url = 'https://apphis.longhuvip.com/w1/api/index.php'
    response = requests.post(url, data=data)

    try:
        js = response.json()
    except:
        return df
    if not js.get('trend'):
        return df
    trend = pd.DataFrame(js['trend'])
    df[['时间', '最新价', '均价', '成交量']] = trend.values[:, :4]
    df['日期'] = datetime.strptime(
        js['day'], '%Y%m%d').strftime('%Y-%m-%d')
    df['昨收'] = js['preclose_px']
    df['开盘'] = js['begin_px']
    df['股票代码'] = q.code
    df['股票名称'] = q.name
    return df
df = get_quote_history_1_minute('600519', '20220304')
df

运行结果
image

@Micro-sheep
Copy link
Owner

get_quote_history获取的1分钟数据只有最近一天的,5分钟可以历史数据,但是1分钟不行

参考下面的评论可解决你的问题。
获取历史交易日 1 分钟数据

@WUYAOFENGZHE
Copy link

get_quote_history获取的1分钟数据只有最近一天的,5分钟可以历史数据,但是1分钟不行

参考下面的评论可解决你的问题。 获取历史交易日 1 分钟数据

感谢大佬!,请问是chioce里的数据吗,美股的可以吗?

@cee21992
Copy link
Author

现在是4月11日,我也来爬了,也只能搞到一周内的,请问各位大佬最后解决了没

可以用下面的代码获取历史交易日分钟数据

import requests
from efinance.utils import search_quote
from datetime import datetime
import pandas as pd
from efinance.utils import to_numeric


@to_numeric
def get_quote_history_1_minute(stock_code: str,
                             date: str) -> pd.DataFrame:
    
    """
    获取股票、债券的指定日期的 1 分钟 K 线数据
    
    Parameters
    ----------
    stock_code : str
        股票代码 或者股票代码列表
    date : str
        日期
    
    Returns
    -------
    DataFrame

    Examples
    --------
    >>> stock_code = '600519'
    >>> date = '20220304'
    >>> get_quote_history_1_minute(stock_code,date)
            股票名称    股票代码          日期     时间      最新价        均价   成交量    昨收    开盘
        0    贵州茅台  600519  2022-03-04  09:30   1772.0    1772.0   571  1800  1772
        1    贵州茅台  600519  2022-03-04  09:31   1770.0  1770.818  1039  1800  1772
        2    贵州茅台  600519  2022-03-04  09:32  1773.53  1770.957   453  1800  1772
        3    贵州茅台  600519  2022-03-04  09:33  1779.98  1772.293   496  1800  1772
        4    贵州茅台  600519  2022-03-04  09:34   1773.0   1773.12   505  1800  1772
        ..    ...     ...         ...    ...      ...       ...   ...   ...   ...
        236  贵州茅台  600519  2022-03-04  14:56  1779.23  1774.363   154  1800  1772
        237  贵州茅台  600519  2022-03-04  14:57  1781.61  1774.401   181  1800  1772
        238  贵州茅台  600519  2022-03-04  14:58  1781.88  1774.401     2  1800  1772
        239  贵州茅台  600519  2022-03-04  14:59  1781.88  1774.401     0  1800  1772
        240  贵州茅台  600519  2022-03-04  15:00   1780.5  1774.456   276  1800  1772
        [241 rows x 9 columns]
    """
    q = search_quote(stock_code)
    df = pd.DataFrame(columns=['股票名称', '股票代码', '日期', '时间',
                               '最新价', '均价', '成交量', '昨收', '开盘'])
    if not q:
        return df
    data = {
        'Day': date,
        'PhoneOSNew': '2',
        'StockID': q.code,
        'Token': '0',
        'UserID': '0',
        'VerSion': '5.2.1.0',
        'a': 'GetStockTrend',
        'apiv': 'w28',
        'c': 'StockL2History'
    }
    url = 'https://apphis.longhuvip.com/w1/api/index.php'
    response = requests.post(url, data=data)

    try:
        js = response.json()
    except:
        return df
    if not js.get('trend'):
        return df
    trend = pd.DataFrame(js['trend'])
    df[['时间', '最新价', '均价', '成交量']] = trend.values[:, :4]
    df['日期'] = datetime.strptime(
        js['day'], '%Y%m%d').strftime('%Y-%m-%d')
    df['昨收'] = js['preclose_px']
    df['开盘'] = js['begin_px']
    df['股票代码'] = q.code
    df['股票名称'] = q.name
    return df
df = get_quote_history_1_minute('600519', '20220304')
df

运行结果 image

大佬这是搞到数据源了啊

@Micro-sheep
Copy link
Owner

get_quote_history获取的1分钟数据只有最近一天的,5分钟可以历史数据,但是1分钟不行

参考下面的评论可解决你的问题。 获取历史交易日 1 分钟数据

感谢大佬!,请问是chioce里的数据吗,美股的可以吗?

是 开盘啦 这个 app 里面的数据。好像只能是 A 股。

@Micro-sheep
Copy link
Owner

现在是4月11日,我也来爬了,也只能搞到一周内的,请问各位大佬最后解决了没

可以用下面的代码获取历史交易日分钟数据

import requests
from efinance.utils import search_quote
from datetime import datetime
import pandas as pd
from efinance.utils import to_numeric


@to_numeric
def get_quote_history_1_minute(stock_code: str,
                             date: str) -> pd.DataFrame:
    
    """
    获取股票、债券的指定日期的 1 分钟 K 线数据
    
    Parameters
    ----------
    stock_code : str
        股票代码 或者股票代码列表
    date : str
        日期
    
    Returns
    -------
    DataFrame

    Examples
    --------
    >>> stock_code = '600519'
    >>> date = '20220304'
    >>> get_quote_history_1_minute(stock_code,date)
            股票名称    股票代码          日期     时间      最新价        均价   成交量    昨收    开盘
        0    贵州茅台  600519  2022-03-04  09:30   1772.0    1772.0   571  1800  1772
        1    贵州茅台  600519  2022-03-04  09:31   1770.0  1770.818  1039  1800  1772
        2    贵州茅台  600519  2022-03-04  09:32  1773.53  1770.957   453  1800  1772
        3    贵州茅台  600519  2022-03-04  09:33  1779.98  1772.293   496  1800  1772
        4    贵州茅台  600519  2022-03-04  09:34   1773.0   1773.12   505  1800  1772
        ..    ...     ...         ...    ...      ...       ...   ...   ...   ...
        236  贵州茅台  600519  2022-03-04  14:56  1779.23  1774.363   154  1800  1772
        237  贵州茅台  600519  2022-03-04  14:57  1781.61  1774.401   181  1800  1772
        238  贵州茅台  600519  2022-03-04  14:58  1781.88  1774.401     2  1800  1772
        239  贵州茅台  600519  2022-03-04  14:59  1781.88  1774.401     0  1800  1772
        240  贵州茅台  600519  2022-03-04  15:00   1780.5  1774.456   276  1800  1772
        [241 rows x 9 columns]
    """
    q = search_quote(stock_code)
    df = pd.DataFrame(columns=['股票名称', '股票代码', '日期', '时间',
                               '最新价', '均价', '成交量', '昨收', '开盘'])
    if not q:
        return df
    data = {
        'Day': date,
        'PhoneOSNew': '2',
        'StockID': q.code,
        'Token': '0',
        'UserID': '0',
        'VerSion': '5.2.1.0',
        'a': 'GetStockTrend',
        'apiv': 'w28',
        'c': 'StockL2History'
    }
    url = 'https://apphis.longhuvip.com/w1/api/index.php'
    response = requests.post(url, data=data)

    try:
        js = response.json()
    except:
        return df
    if not js.get('trend'):
        return df
    trend = pd.DataFrame(js['trend'])
    df[['时间', '最新价', '均价', '成交量']] = trend.values[:, :4]
    df['日期'] = datetime.strptime(
        js['day'], '%Y%m%d').strftime('%Y-%m-%d')
    df['昨收'] = js['preclose_px']
    df['开盘'] = js['begin_px']
    df['股票代码'] = q.code
    df['股票名称'] = q.name
    return df
df = get_quote_history_1_minute('600519', '20220304')
df

运行结果 image

大佬这是搞到数据源了啊

是的,来源于 开盘啦 这个 app。不过我感觉它的速度比较慢,所以没有集成到 efinance 里面。不过有需要的可以先用这个。

@cee21992
Copy link
Author

现在是4月11日,我也来爬了,也只能搞到一周内的,请问各位大佬最后解决了没

可以用下面的代码获取历史交易日分钟数据

import requests
from efinance.utils import search_quote
from datetime import datetime
import pandas as pd
from efinance.utils import to_numeric


@to_numeric
def get_quote_history_1_minute(stock_code: str,
                             date: str) -> pd.DataFrame:
    
    """
    获取股票、债券的指定日期的 1 分钟 K 线数据
    
    Parameters
    ----------
    stock_code : str
        股票代码 或者股票代码列表
    date : str
        日期
    
    Returns
    -------
    DataFrame

    Examples
    --------
    >>> stock_code = '600519'
    >>> date = '20220304'
    >>> get_quote_history_1_minute(stock_code,date)
            股票名称    股票代码          日期     时间      最新价        均价   成交量    昨收    开盘
        0    贵州茅台  600519  2022-03-04  09:30   1772.0    1772.0   571  1800  1772
        1    贵州茅台  600519  2022-03-04  09:31   1770.0  1770.818  1039  1800  1772
        2    贵州茅台  600519  2022-03-04  09:32  1773.53  1770.957   453  1800  1772
        3    贵州茅台  600519  2022-03-04  09:33  1779.98  1772.293   496  1800  1772
        4    贵州茅台  600519  2022-03-04  09:34   1773.0   1773.12   505  1800  1772
        ..    ...     ...         ...    ...      ...       ...   ...   ...   ...
        236  贵州茅台  600519  2022-03-04  14:56  1779.23  1774.363   154  1800  1772
        237  贵州茅台  600519  2022-03-04  14:57  1781.61  1774.401   181  1800  1772
        238  贵州茅台  600519  2022-03-04  14:58  1781.88  1774.401     2  1800  1772
        239  贵州茅台  600519  2022-03-04  14:59  1781.88  1774.401     0  1800  1772
        240  贵州茅台  600519  2022-03-04  15:00   1780.5  1774.456   276  1800  1772
        [241 rows x 9 columns]
    """
    q = search_quote(stock_code)
    df = pd.DataFrame(columns=['股票名称', '股票代码', '日期', '时间',
                               '最新价', '均价', '成交量', '昨收', '开盘'])
    if not q:
        return df
    data = {
        'Day': date,
        'PhoneOSNew': '2',
        'StockID': q.code,
        'Token': '0',
        'UserID': '0',
        'VerSion': '5.2.1.0',
        'a': 'GetStockTrend',
        'apiv': 'w28',
        'c': 'StockL2History'
    }
    url = 'https://apphis.longhuvip.com/w1/api/index.php'
    response = requests.post(url, data=data)

    try:
        js = response.json()
    except:
        return df
    if not js.get('trend'):
        return df
    trend = pd.DataFrame(js['trend'])
    df[['时间', '最新价', '均价', '成交量']] = trend.values[:, :4]
    df['日期'] = datetime.strptime(
        js['day'], '%Y%m%d').strftime('%Y-%m-%d')
    df['昨收'] = js['preclose_px']
    df['开盘'] = js['begin_px']
    df['股票代码'] = q.code
    df['股票名称'] = q.name
    return df
df = get_quote_history_1_minute('600519', '20220304')
df

运行结果 image

大佬这是搞到数据源了啊

是的,来源于 开盘啦 这个 app。不过我感觉它的速度比较慢,所以没有集成到 efinance 里面。不过有需要的可以先用这个。

可以考虑下载到本地数据库

可以考虑下载到本地数据库

@joshua-xia
Copy link

mark 一下

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants