File size: 1,460 Bytes
75ca7ba | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 | import logging
from duckduckgo_search import DDGS
logger = logging.getLogger("ONYX")
class WebIntelligenceEngine:
def __init__(self):
self.max_results = 5
# =========================
# WEB SEARCH
# =========================
def search(self, query):
try:
results = []
with DDGS() as ddgs:
search_results = ddgs.text(
query,
max_results=self.max_results
)
for r in search_results:
results.append({
"title": r.get("title"),
"link": r.get("href"),
"snippet": r.get("body")
})
logger.info(f"Web search results: {len(results)}")
return results
except Exception as e:
logger.error(f"Web search error: {e}")
return []
# =========================
# ANALYZE RESULTS
# =========================
def analyze_trend(self, query):
results = self.search(query)
if not results:
return "Aucune information trouvée."
analysis = f"Tendances trouvées pour : {query}\n\n"
for r in results:
title = r.get("title", "")
snippet = r.get("snippet", "")
analysis += f"- {title}\n"
analysis += f" {snippet}\n\n"
return analysis |