从网页中提取数据以获取excel并在网页数据刷新后立即刷新

时间:2018-08-09 16:54:37

标签: python excel web-scraping data-science

我是python的新手,很想知道这一点。 假设我想从某个网站上抓取股票价格数据以实现卓越表现。现在数据保持每秒刷新一次,如何使用python自动刷新excel工作表上的数据。 我已经阅读过有关win32的信息,但无法理解它的用途。 任何帮助将不胜感激。

3 个答案:

答案 0 :(得分:0)

如果站点具有直接API来下载数据,请使用请求模块。尝试检查开发人员工具(F12)以查看网络api调用详细信息。

https://kite.com/python/docs/requests

答案 1 :(得分:0)

您可以抛出Q49705047 Downloading multiple stocks at once from yahoo finance python,因为它捕获了您要查找的内容。快乐的编码:)

答案 2 :(得分:0)

为此,您可以随时尝试使用我的新模块YahooFinancials。我已经编写了大部分您最终必须编写的代码,然后再编写了一些代码。 YahooFinancials返回股票,指数,加密货币,货币和商品的价格数据。另外,无需Web驱动程序即可运行此模块。 100%的请求和bs4。

安装很容易:

$ pip install yahoofinancials

> python -m pip install yahoofinancials

用法也很容易,所有数据都以一致的JSON格式返回。您可以通过输入符号作为字符串来一次运行一只股票,或者通过在代码行列表中输入代码来一次运行很多股票/资产。

例如,

from yahoofinancials import YahooFinancials

tech_stocks = ['AAPL', 'MSFT', 'INTC']
bank_stocks = ['WFC', 'BAC', 'C']

yahoo_financials_tech = YahooFinancials(tech_stocks)
yahoo_financials_banks = YahooFinancials(bank_stocks)

print(yahoo_financials_tech.get_current_price())
print(yahoo_financials_banks.get_current_price())

返回

{'AAPL': 209.24, 'INTC': 48.4733, 'MSFT': 109.23}

{'WFC': 57.96, 'C': 69.683, 'BAC': 30.605}

在等待新的价格变动时,您总是可以在while循环中延迟运行。

您还可以按每天,每周和每月的时间间隔提取历史价格数据,如下所示:

yahoo_financials = YahooFinancials('WFC')
print(yahoo_financials.get_historical_price_data("2018-07-10", "2018-08-10", "monthly"))

哪个返回:

{
    "WFC": {
        "currency": "USD",
        "eventsData": {
            "dividends": {
                "2018-08-01": {
                    "amount": 0.43,
                    "date": 1533821400,
                    "formatted_date": "2018-08-09"
                }
            }
        },
        "firstTradeDate": {
            "date": 76233600,
            "formatted_date": "1972-06-01"
        },
        "instrumentType": "EQUITY",
        "prices": [
            {
                "adjclose": 57.19147872924805,
                "close": 57.61000061035156,
                "date": 1533096000,
                "formatted_date": "2018-08-01",
                "high": 59.5,
                "low": 57.08000183105469,
                "open": 57.959999084472656,
                "volume": 138922900
            }
        ],
        "timeZone": {
            "gmtOffset": -14400
        }
    }
}

如果您想了解更多信息,请随时访问https://github.com/JECSand/yahoofinancials,以获取更多详细信息和示例!现在,我们有数十种不同的有用的财务数据方法可以返回基本数据和技术数据。

希望这对您有所帮助。此外,下一个主要版本的实时流式传输价格也在准备中!