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