Получение данных о ценах из YahooFinance приводит к следующему: объект «nontype» объекта AttributeError не имеет атрибута «текст» - PullRequest
0 голосов
/ 20 сентября 2018

У меня есть цикл (работает около 200 раз), чтобы получить предыдущую цену закрытия от YahooFinance.Этот цикл останавливается случайным образом в точке со следующим сообщением об ошибке:

WARNING:root:Some characters could not be decoded, and were replaced with REPLACEMENT CHARACTER.
[...]
AttributeError 'nonetype' object has no attribute 'text'

Каждый раз, когда я запускаю скрипт, он останавливается в другой точке.Это скрипт:

from yahoofinancials import YahooFinancials
import csv

with open('instruments.csv', 'r') as csvfile:
    instruments = csv.reader(csvfile, delimiter=',', quoting = csv.QUOTE_NONNUMERIC, quotechar='"')
    for instrument in instruments:
        symbol = instrument[0]
        yahoo_financials = YahooFinancials(symbol)
        price = yahoo_financials.get_prev_close_price()

1 Ответ

0 голосов
/ 21 сентября 2018

Решение: вместо того, чтобы зацикливаться на каждом символе и запрашивать цену, вы можете создать список символов и передать этот список в API YahooFincials, а затем выполнить запрос.Похоже, пакет может справиться с этим отлично, хотя это занимает некоторое время.Вот выдержка из документа :

from yahoofinancials import YahooFinancials
tech_stocks = ['AAPL', 'MSFT', 'INTC']
yahoo_financials_tech = YahooFinancials(tech_stocks)
tech_stock_price_data = yahoo_financials_tech.get_prev_close_price()
...