"""
search.py -- DuckDuckGo Suche via DDGS-Library.
"""
import logging
logger = logging.getLogger(__name__)
try:
from duckduckgo_search import DDGS
HAS_DDGS = True
except ImportError:
HAS_DDGS = False
def search(query: str, max_results: int = 5) -> list:
"""
Sucht via DuckDuckGo (DDGS-Library).
Returns:
Liste von URLs (bis zu max_results)
"""
if not HAS_DDGS:
logger.warning("duckduckgo_search nicht installiert: pip install duckduckgo-search")
return []
try:
with DDGS() as ddgs:
results = list(ddgs.text(query, max_results=max_results))
links = []
for r in results:
href = r.get('href', '')
if href and href.startswith('http'):
links.append(href)
return links
except Exception as e:
logger.debug(f"DuckDuckGo-Suche fehlgeschlagen ({query!r}): {e}")
return []