#python
Вопрос:
for ticker in tickers:
ticker_name = str(ticker.get_text())
url_yahoo_finance = 'https://finance.yahoo.com/quote/{}/financials?p={}'.format(ticker_name,ticker_name)
yahoo_finance_res = requests.get(url_yahoo_finance,headers=headers)
yahoo_finance_soup = BeautifulSoup(yahoo_finance_res.content,'lxml')
company_name = yahoo_finance_soup.select_one('div.D(ib) > h1').get_text()
print(company_name)
net_income = yahoo_finance_soup.select_one('div.D(tbrg) > div:nth-child(10) > div.D(tbr).fi-row.Bgc($hoverBgColor):h > div:nth-child(2) > span')
**if type(net_income) == '<class 'NoneType'>':
print('none')
continue
else:
print(net_income.get_text())**
Третьего значения не существует. Так что , если это так NoneType
, я попытался проигнорировать это и продолжить работу с кодом, но третье значение неприменимо type(net_income) == '<class 'NoneType
. Мне интересно, как это решить.
Если beautiful soup
выполняется поиск, как значение может быть представлено как»», если оно не существует?
Комментарии:
1. Вы пробовали
if net_income is None
илиif type(net_income) == type(None)
?type()
Функция не возвращает строку, она возвращает класс.2. Однако вы могли бы использовать
if str(type(net_income)) == '<class 'NoneType'>'
то, что все равно будет работать.