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}"); } }
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); }
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}"); } }
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); }
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); }
public abstract bool IsOfferPage(WebPageResponse webPageResponse);
public abstract AniraSpOffer GetOfferData(WebPageResponse webPageResponse);