File size: 726 Bytes
d907837 |
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 |
from duckduckgo_search import DDGS
from serp.base import SERPBackendBase, SerpResultItem
class DuckDuckGoSerpBackend(SERPBackendBase):
def __init__(self):
self.ddg = DDGS()
super().__init__()
@property
def name(self):
return "duckduckgo"
async def query(self, query, client) -> list[SerpResultItem]:
results = []
for result in self.ddg.text(query.query, max_results=query.n_results):
results.append(SerpResultItem(
title=result["title"],
body=result["body"],
href=result["href"],
content_slug=None))
return results
@property
def category(self):
return "general"
|