【问题标题】:How to remove 'Http connection error' in python 35如何在 python 35 中删除“Http 连接错误”
【发布时间】:2017-12-18 04:40:10
【问题描述】:

我在执行此代码时遇到问题。

   import datetime as dt
   import matplotlib.pyplot as plt from matplotlib 
   import style import pandas as pd 
   import pandas_datareader.data as web 
   style.use('ggplot') 
   start=dt.datetime(2000,1,1)
   end=dt.datetime(2016,12,31)
   df= web.DataReader('TSLA', 'yahoo', start, end) 
   print(df.head()) 

我正面临这个错误:

ConnectionError(e, request=request) requests.exceptions.

连接错误:

HTTPConnectionPool(host='ichart.finance.yahoo.com', port=80):

网址超出了最大重试次数:/table.csv?>s=TSLA&f=2016&g=d&b=1&d=11&e=31&ignore=.csv&c=2000&a=0

(由NewConnectionError引起(': 无法建立新连接: [Errno 11001] getaddrinfo failed',))

【问题讨论】:

  • 您确定ichart.finance.yahoo.com 是正确的主机吗?我的请求给了我一个 DNS 错误。
  • 您是否检查过该站点是否可以从浏览器访问?我无法访问它。主机好像错了
  • 非常感谢!我明白了。

标签: python


【解决方案1】:

雅虎提供的金融 API 已停止使用。此功能将不再提供:

https://forums.yahoo.net/t5/Yahoo-Finance-help/Is-Yahoo-Finance-API-broken/td-p/250503

【讨论】:

  • 非常感谢@nab iiovich
【解决方案2】:

原来如此简单!

在代码中将 yahoo 替换为 google。

运行代码:

import datetime as dt
import matplotlib.pyplot as plt
from matplotlib import style
import pandas as pd
import pandas_datareader.data as web
import numpy as np
style.use('ggplot')
start=dt.datetime(2000,1,1)
end=dt.datetime(2016,12,31)
df= web.DataReader('ERIE', 'google', start, end)
print(df.head())

但是,这段代码仍然有一个缺点。

  1. 此代码仅适用于美国公司,不适用于印度公司。自己试试吧!

库沙尔

【讨论】:

    猜你喜欢
    • 2016-08-15
    • 1970-01-01
    • 2019-02-13
    • 2018-06-16
    • 1970-01-01
    • 2014-03-20
    • 1970-01-01
    • 2011-03-15
    • 2016-09-16
    相关资源
    最近更新 更多