File size: 765 Bytes
372531f
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
from itertools import islice
from ..utils import check_pkg


class Duckduckgo:
    """

    Duckduckgo API Retriever

    """
    def __init__(self, query):
        check_pkg('duckduckgo_search')
        from duckduckgo_search import DDGS
        self.ddg = DDGS()
        self.query = query

    def search(self, max_results=5):
        """

        Performs the search

        :param query:

        :param max_results:

        :return:

        """
        try:
            search_response = self.ddg.text(self.query, region='wt-wt', max_results=max_results)
        except Exception as e:
            print(f"Error: {e}. Failed fetching sources. Resulting in empty response.")
            search_response = []
        return search_response