feat: screen() 래퍼 추가 + Firefox 프로필 133 업데이트

yf.screen()에 세션 풀 rotation + retry backoff 보호 적용.
firefox102 → firefox133 UA 업데이트.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
main
I Luk Kim 3 months ago
parent 674b7e45c8
commit e7011cabd7

@ -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", "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": None, # Firefox doesn't send sec-ch-ua
"sec_ch_ua_platform": None, "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", "impersonate": "chrome120",
@ -637,6 +637,19 @@ def download(tickers: Union[str, list],
return enhanced_yf._retry_with_backoff(_download) 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 configuration
_global_config = RequestConfig() _global_config = RequestConfig()
@ -738,7 +751,7 @@ from yfinance import __version__
# Export main classes and functions for full compatibility # Export main classes and functions for full compatibility
__all__ = [ __all__ = [
'Ticker', 'Tickers', 'download', 'set_config', 'get_config', 'Ticker', 'Tickers', 'download', 'screen', 'set_config', 'get_config',
'clear_cache', 'get_cache_info', 'RequestConfig', 'clear_cache', 'get_cache_info', 'RequestConfig',
'EnhancedTicker', 'EnhancedTickers', 'EnhancedYFinance', 'HistoricalDataCache' 'EnhancedTicker', 'EnhancedTickers', 'EnhancedYFinance', 'HistoricalDataCache'
] ]

Loading…
Cancel
Save