|
|
|
|
@ -254,10 +254,10 @@ _BROWSER_PROFILES = [
|
|
|
|
|
"user_agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 12_4) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/15.5 Safari/605.1.15",
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"impersonate": "firefox102",
|
|
|
|
|
"impersonate": "firefox133",
|
|
|
|
|
"sec_ch_ua": None, # Firefox doesn't send sec-ch-ua
|
|
|
|
|
"sec_ch_ua_platform": None,
|
|
|
|
|
"user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101 Firefox/102.0",
|
|
|
|
|
"user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:133.0) Gecko/20100101 Firefox/133.0",
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"impersonate": "chrome120",
|
|
|
|
|
@ -637,6 +637,19 @@ def download(tickers: Union[str, list],
|
|
|
|
|
return enhanced_yf._retry_with_backoff(_download)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def screen(query, **kwargs):
|
|
|
|
|
"""Enhanced screen() with session pool rotation and retry backoff."""
|
|
|
|
|
enhanced_yf = _get_global_enhanced_yf()
|
|
|
|
|
|
|
|
|
|
def _screen():
|
|
|
|
|
return yf.screen(query, session=enhanced_yf.session, **kwargs)
|
|
|
|
|
|
|
|
|
|
def _on_rate_limit():
|
|
|
|
|
enhanced_yf._rotate_session_on_ratelimit()
|
|
|
|
|
|
|
|
|
|
return enhanced_yf._retry_with_backoff(_screen, on_rate_limit_cb=_on_rate_limit)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# Global configuration
|
|
|
|
|
_global_config = RequestConfig()
|
|
|
|
|
|
|
|
|
|
@ -738,7 +751,7 @@ from yfinance import __version__
|
|
|
|
|
|
|
|
|
|
# Export main classes and functions for full compatibility
|
|
|
|
|
__all__ = [
|
|
|
|
|
'Ticker', 'Tickers', 'download', 'set_config', 'get_config',
|
|
|
|
|
'Ticker', 'Tickers', 'download', 'screen', 'set_config', 'get_config',
|
|
|
|
|
'clear_cache', 'get_cache_info', 'RequestConfig',
|
|
|
|
|
'EnhancedTicker', 'EnhancedTickers', 'EnhancedYFinance', 'HistoricalDataCache'
|
|
|
|
|
]
|
|
|
|
|
|