コード例 #1
0
 private void GetOfferPage(string pageUrl)
 {
     try {
         WebPageResponse responseData = WebUtils.GetData(pageUrl, BotOptions);
         responseData.SetHtmlParser(_htmlParser);
         if (responseData.IsSuccess)
         {
             AddOfferStorage(responseData);
         }
     }
     catch (Exception e) {
         _eventLogger?.Error($"Url: {pageUrl}, Message: {e.Message} {e.StackTrace}");
     }
 }
コード例 #2
0
        public override AniraSpOffer GetOfferData(WebPageResponse webPageResponse)
        {
            var param = new List <OfferParam>();

            param.Add(new OfferParam {
                Name = "Price", Value = "25.00"
            });

            var offer = new AniraSpOffer {
                OfferId     = _productId,
                OfferParams = param
            };

            return(offer);
        }
コード例 #3
0
        private void AddOfferStorage(WebPageResponse responseData)
        {
            if (!_webWorker.IsOfferPage(responseData))
            {
                return;
            }

            try {
                AniraSpOffer offerPage = _webWorker.GetOfferData(responseData);
                AddOffer(offerPage);
            }
            catch (Exception e) {
                _eventLogger?.Error($"Url: {responseData.Url}, Message: {e.Message} {e.StackTrace}");
            }
        }
コード例 #4
0
        public override bool IsOfferPage(WebPageResponse webPageResponse)
        {
            try {
                string productId = webPageResponse.HtmlDocument.QuerySelector("span.product-detail__price-value")
                                   ?.TextContent;
                if (!string.IsNullOrEmpty(productId))
                {
                    _productId = productId;
                    return(true);
                }
            }
            catch (Exception exception) {
                // EventLogger.Error($"Error! Url:{Url.OriginalString}, Method:ProductId, Message:{exception.Message}");
            }

            return(false);
        }
コード例 #5
0
        private IDocument AttemptWrapper(string pageUrl)
        {
            for (var i = 1; i < 3; i++)
            {
                try {
                    WebPageResponse htmlCode = GetDocument(pageUrl);


                    if (!htmlCode.IsSuccess)
                    {
                        continue;
                    }

                    htmlCode.SetHtmlParser(_htmlParser);
                    return(htmlCode.HtmlDocument);
                }
                catch (Exception ex) {
                    Logger.Warn($"{ex.Message}");
                }

                Logger.Warn($"Attempt №{i}");
            }
            return(null);
        }
コード例 #6
0
ファイル: WebWorker.cs プロジェクト: StanislavMazanov/AniraSP
 public abstract bool IsOfferPage(WebPageResponse webPageResponse);
コード例 #7
0
ファイル: WebWorker.cs プロジェクト: StanislavMazanov/AniraSP
 public abstract AniraSpOffer GetOfferData(WebPageResponse webPageResponse);