Python Datareader не может извлечь данные о запасах из Morningstar

1

Я начинаю работать на питоне с данными о запасах. Сегодня утром я смог извлечь данные о запасах с веб-сайта morningstar, однако, когда я пытаюсь сделать это, теперь я получаю следующее сообщение об ошибке, показанное ниже. Что может быть причиной этой проблемы и что я могу ее исправить? Спасибо

Exception Traceback (most recent call last)
in ()
63 '''
64
---> 65 df=web.DataReader('MMM','morningstar', start, end)
66 print(df)
67 stockname=df.to_csv('mmm.csv')

~\Documents\New folder (2)\lib\site-packages\pandas_datareader\data.py in DataReader(name, data_source, start, end, retry_count, pause, session, access_key)
389 return MorningstarDailyReader(symbols=name, start=start, end=end,
390 retry_count=retry_count, pause=pause,
--> 391 session=session, interval="d").read()
392 elif data_source == 'robinhood':
393 return RobinhoodHistoricalReader(symbols=name, start=start, end=end,

~\Documents\New folder (2)\lib\site-packages\pandas_datareader\mstar\daily.py in read(self)
217 "type %s" % type(self.symbols))
218
--> 219 df = self._dl_mult_symbols(symbols=symbols)
220 if len(df.index.levels[0]) == 0:
221 raise ValueError("None of the provided symbols were valid")

~\Documents\New folder (2)\lib\site-packages\pandas_datareader\mstar\daily.py in _dl_mult_symbols(self, symbols)
128 else:
129 raise Exception("Request Error!: %s : %s" % (
--> 130 resp.status_code, resp.reason))
131
132 time.sleep(self.pause)

Exception: Request Error!: 404 : Not Found
  • 1
    Вы получили 404, что означает, что запрашиваемый вами веб-сайт отсутствует. Не видя ваш код, было бы очень сложно ответить больше.
  • 1
    Имея ту же проблему, что и здесь .
Теги:
pandas
symbols
datareader

1 ответ

0

Похоже на проблему с поставщиком. API не документирован (я полагаю, что он пришел отсюда), поэтому сложно с уверенностью сказать, какие изменения были сделаны/если он был снят.

На данный момент я бы рекомендовал использовать другие источники, такие как AlphaVantage, Quandl или IEX. Самый простой - это IEX, для которого не требуется ключ API

df = web.DataReader('MMM', 'IEX', start, end)

  • 0
    Вместо этого я использовал IEX, который сейчас работает.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню