コード例 #1
0
        private void ParsingPage(int i)
        {
            var currUrl = CreateCurrentUrl(CurrentUrl, i);

            if (DownloadString.MaxDownload >= 1000)
            {
                return;
            }
            var s = DownloadString.DownLUserAgent(currUrl);

            if (string.IsNullOrEmpty(s))
            {
                Log.Logger("Empty string in ParserPage()", currUrl);
                return;
            }

            var htmlDoc = new HtmlDocument();

            htmlDoc.LoadHtml(s);
            var tens = htmlDoc.DocumentNode.SelectNodes(
                "//div[contains(@class, 'search-registry-entry-block')]/div[contains(@class, 'row')][1]//a[contains(@href, 'printForm/view')]") ??
                       new HtmlNodeCollection(null);

            foreach (var a in tens)
            {
                try
                {
                    ParserLink(a);
                }
                catch (Exception e)
                {
                    Log.Logger(e);
                }
            }
        }
コード例 #2
0
 private void RunTenderParsing(ITender t)
 {
     try
     {
         t.ParsingTender();
     }
     catch (Exception e)
     {
         Log.Logger(e);
     }
 }
コード例 #3
0
 private void CreateListUrls()
 {
     for (var i = 1; i <= PageCount; i++)
     {
         try
         {
             ParsingPage(i);
         }
         catch (Exception e)
         {
             Log.Logger(e);
         }
     }
 }
コード例 #4
0
        private void CreateTenderFromDoc(string url)
        {
            var s = DownloadString.DownLUserAgent(url);

            if (String.IsNullOrEmpty(s))
            {
                Log.Logger("Empty string in CreateTenderFromDoc()", url);
                return;
            }
            s = s.CleanStringXml();
            var doc = new XmlDocument();

            doc.LoadXml(s);
            var jsons = JsonConvert.SerializeXmlNode(doc);

            using var jr = new JsonTextReader(new StringReader(jsons))
                  {
                      DateParseHandling = DateParseHandling.None
                  };
            var json           = JToken.ReadFrom(jr);
            var firstOrDefault = json.Children().OfType <JProperty>().FirstOrDefault(p => p.Name.Contains("fcs"));

            if (firstOrDefault != null)
            {
                var tender = firstOrDefault.Value;
                var t      = new TenderType44(tender, url);
                RunTenderParsing(t);
            }
            else
            {
                firstOrDefault = json.Children().OfType <JProperty>().FirstOrDefault(p => p.Name.Contains("epN"));
                if (firstOrDefault != null)
                {
                }
                else
                {
                    Log.Logger("Can not to define the tender type", url);
                }
            }
        }