|
1 | 1 | import yfinance as yf |
| 2 | +import requests |
| 3 | +import time |
| 4 | +session = requests.Session() |
| 5 | +session.headers.update({ |
| 6 | + "User-Agent": "Chrome/122.0.0.0" |
| 7 | +}) |
2 | 8 |
|
3 | 9 | def get_top_stocks(symbols): |
4 | 10 | stock_data = [] |
5 | | - for symbol in symbols: |
6 | | - try: |
7 | | - ticker = yf.Ticker(symbol) |
8 | | - info = ticker.info |
| 11 | + try: |
| 12 | + top_stocks = symbols.split() |
| 13 | + tickers = yf.Tickers(symbols) |
| 14 | + while top_stocks: |
| 15 | + stock = top_stocks.pop() |
| 16 | + info = tickers.tickers[stock].info |
9 | 17 | stock_info = { |
10 | | - 'symbol': symbol, |
11 | | - 'name': info.get('shortName', 'N/A'), |
12 | | - 'currentPrice': info.get('currentPrice', 'N/A'), |
13 | | - 'previousClose': info.get('previousClose', 'N/A'), |
14 | | - 'sector': info.get('sector', 'N/A') |
15 | | - } |
16 | | - stock_data.append(stock_info) |
17 | | - except Exception as e: |
18 | | - print(f"Error fetching {symbol}: {e}") |
| 18 | + 'symbol': stock, |
| 19 | + 'name': info.get('shortName', 'N/A'), |
| 20 | + 'currentPrice': info.get('currentPrice', 'N/A'), |
| 21 | + 'previousClose': info.get('previousClose', 'N/A'), |
| 22 | + 'sector': info.get('sector', 'N/A') |
| 23 | + } |
| 24 | + stock_data.push(stock_info) |
| 25 | + except Exception as e: |
| 26 | + print(f"Error fetching {symbols}: {e}") |
| 27 | + time.sleep(5) |
19 | 28 | return stock_data |
0 commit comments