public YandexSearchEngine(IQuestorLogger <YandexSearchEngine> logger) { this._logger = logger; this._selector = new Selector { Url = "a[href]", Title = "div.organic__url-text", Text = "div.organic__url-text", Links = "li.serp-item > div" }; }
public BingSearchEngine(IQuestorLogger <BingSearchEngine> logger) { this._logger = logger; this._selector = new Selector { Url = "a[href]", Title = "a", Text = "p", Links = "ol#b_results > li.b_algo", }; }
public GoogleSearchEngine(IQuestorLogger <GoogleSearchEngine> logger) { this._logger = logger; this._selector = new Selector { Url = "a[href]", Title = "div.r h3", Text = "div.s span.st", Links = "div.g div.rc" }; }
public DuckduckGoSearchEngine(IQuestorLogger <DuckduckGoSearchEngine> logger) { this._logger = logger; this._selector = new Selector { Url = "a.result__a", Title = "h2.result__title a", Text = "a.result__snippet", Links = "div.results div.result.results_links.results_links_deep.web-result" }; }
public SearchService(IEnumerable <ISearchEngine> searchEngines, IAsyncRepository <SearchResult, int> searchResultRepository, IAsyncRepository <SearchResultItem, int> searchResultItemsRepository, ISearchResponseParser searchResponseParser, ISearchResultsCache searchResultsCache, IQuestorLogger <SearchService> logger) { this._searchResultRepository = searchResultRepository; this._searchResultItemsRepository = searchResultItemsRepository; this._searchResponseParser = searchResponseParser; this._searchResultsCache = searchResultsCache; this._logger = logger; this.SearchEngines = searchEngines.GroupBy(engine => (int)engine.SearchEngineTypeEnum) .ToDictionary(g => g.Key, g => g.FirstOrDefault()); }
public SearchResponseParser(IEnumerable <ISearchEngine> searchEngines, IQuestorLogger <SearchResponseParser> logger) { this._searchEngines = searchEngines; this._logger = logger; }