public ActionResult Iterator(int?id, string URL) { IteratorSettingsDTO iteratorViewModel = new IteratorSettingsDTO(); if (id == null) { return(HttpNotFound()); } else { var task = parserTaskManager.Get(id.Value); if (task.IteratorSettings == null) { task.IteratorSettings = new IteratorSettingsDTO(); task.IteratorSettings.GoodsIteratorXpathes = new List <string>(); task.IteratorSettings.GoodsIteratorXpathes.Add(""); } if (iteratorViewModel.Url == null) { iteratorViewModel.Url = URL; } iteratorViewModel = task.IteratorSettings; ViewBag.Id = id; } ViewBag.Path = TempData["Path"]; return(View(iteratorViewModel)); }
public ActionResult IteratorConfigurations(int?id, IteratorSettingsDTO model) { var _task = parserTaskManager.Get(id.Value); _task.IteratorSettings = model; parserTaskManager.Update(_task); return(RedirectToAction("Grabber", new { id = id.Value })); }
/// <summary> /// get all urls from page /// </summary> /// <param name="model"></param> /// <returns></returns> public List <string> GetAllUrls(IteratorSettingsDTO model) { var allUrls = new List <string>(); try { int from = model.From; int to = model.To; var xpathList = model.GoodsIteratorXpathes; string url = model.UrlMask; foreach (var xpath in xpathList) { List <string> urlFromOnePage = new List <string>(); for (int i = from; i <= to; i++) { urlFromOnePage = GetUrlsFromOnePage(url.Replace("{n}", i.ToString()), xpath); if (urlFromOnePage.Count != 0) { allUrls.AddRange(urlFromOnePage); break; } break; } if (urlFromOnePage.Count != 0) { break; } } } catch (Exception ex) { logger.Error(ex.Message); } return(allUrls); }