示例#1
0
        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"
            };
        }
示例#2
0
        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",
            };
        }
示例#3
0
        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"
            };
        }
示例#5
0
        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;
 }