Spaces:
Running
Running
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 |