Exemple #1
0
        public static void shopkzGPU()
        {
            Console.OutputEncoding = Encoding.UTF8;

            bool Loop = true;

            var url = @"https://shop.kz";

            var htmlWeb = new HtmlWeb();

            var htmlDoc = htmlWeb.Load(url + "/videokarty/filter/almaty-is-v_nalichii-or-ojidaem-or-dostavim/apply/?PAGEN_1=1");

            //Getting links of products

            var node = htmlDoc.DocumentNode.SelectNodes("//div[@class='bx-catalog-middle-part']//div[@class='bx_catalog_item_title']//a[@href]");

            List <string> result1 = new List <string>();

            foreach (var ProductsHtmlSeparate in node)
            {
                var           ItemPage = ((url + ProductsHtmlSeparate.GetAttributeValue("href", null)));
                List <string> result   = ItemPage.Split(new char[] { ',' }).ToList();
                //This is bad and I don't like how this is done but I haven't found any way to do this better yet.
                result1.AddRange(result);
            }

            foreach (var itemLink in result1)
            {
                var htmlDocLinks = htmlWeb.Load(itemLink);


                //Model names of GPU
                var gpuModelName = htmlDocLinks.DocumentNode.SelectNodes("//ul[@class='bx-short-desc']/li[contains(text(), 'Модель')]");

                foreach (var linksGPU in gpuModelName)
                {
                    Console.WriteLine(linksGPU.InnerText);
                }



                //Frequency of GPUs
                var gpuVideoFrequency = htmlDocLinks.DocumentNode.SelectNodes("//ul[@class='bx-short-desc']/li[contains(text(), 'Частота видеопроцессора')]");

                foreach (var linksGPU in gpuVideoFrequency)
                {
                    Console.WriteLine(linksGPU.InnerText);
                }

                //Memory Frequency of GPUs
                var gpuMemoryFrequency = htmlDocLinks.DocumentNode.SelectNodes("//ul[@class='bx-short-desc']/li[contains(text(), 'Частота видеопамяти')]");

                foreach (var linksGPU in gpuMemoryFrequency)
                {
                    Console.WriteLine(linksGPU.InnerText);
                }

                //Video Memory type
                var gpuMemoryType = htmlDocLinks.DocumentNode.SelectNodes("//ul[@class='bx-short-desc']/li[contains(text(), 'Тип видеопамяти')]");

                foreach (var linksGPU in gpuMemoryType)
                {
                    Console.WriteLine(linksGPU.InnerText);
                }

                //Video Memory size
                var gpuMemorySize = htmlDocLinks.DocumentNode.SelectNodes("//ul[@class='bx-short-desc']/li[contains(text(), 'Объем видеопамяти')]");

                foreach (var linksGPU in gpuMemorySize)
                {
                    Console.WriteLine(linksGPU.InnerText);
                }

                //Video Memory type
                var gpuMemoryWidth = htmlDocLinks.DocumentNode.SelectNodes("//ul[@class='bx-short-desc']/li[contains(text(), 'Разрядность шины видеопамяти')]");

                foreach (var linksGPU in gpuMemoryWidth)
                {
                    Console.WriteLine(linksGPU.InnerText);
                }

                //Universal processor count
                var gpuProcessorCount = htmlDocLinks.DocumentNode.SelectNodes("//ul[@class='bx-short-desc']/li[contains(text(), 'Количество универсальных')]");

                foreach (var linksGPU in gpuProcessorCount)
                {
                    Console.WriteLine(linksGPU.InnerText);
                }

                //Connection type
                var gpuConnectionType = htmlDocLinks.DocumentNode.SelectNodes("//ul[@class='bx-short-desc']/li[contains(text(), 'Разъемы')]");

                foreach (var linksGPU in gpuConnectionType)
                {
                    Console.WriteLine(linksGPU.InnerText);
                }

                //Prices
                var productPrices = htmlDocLinks.DocumentNode.SelectNodes("//div[@title='Цена в интернет-магазине']");

                foreach (var linksGPU in productPrices)
                {
                    Console.WriteLine(linksGPU.InnerText + "\n");
                }
            }



            //Getting all of that from next pages
            while (Loop == true)
            {
                var NextPageCheck = htmlDoc.DocumentNode.SelectNodes("//li[@class='bx-pag-next']/a").ToList();

                if (NextPageCheck.Count != 0)
                {
                    string link = url + NextPageCheck[0].Attributes["href"].Value;

                    var urlDecode = HttpUtility.HtmlDecode(link);
                    htmlDoc = htmlWeb.Load(urlDecode);


                    htmlDoc = htmlWeb.Load(link);

                    var nextPageNodeGPU = htmlDoc.DocumentNode.SelectNodes("//div[@class='bx-catalog-middle-part']//div[@class='bx_catalog_item_title']//a[@href]");

                    List <string> nextPageListGPU = new List <string>();

                    foreach (var ProductsHtmlSeparate in nextPageNodeGPU)
                    {
                        var           ItemPage        = ((url + ProductsHtmlSeparate.GetAttributeValue("href", null)));
                        List <string> nextPageLinkGPU = ItemPage.Split(new char[] { ',' }).ToList();
                        //This is bad and I don't like how this is done but I haven't found any way to do this better yet.
                        nextPageListGPU.AddRange(nextPageLinkGPU);
                    }

                    foreach (var itemLink in nextPageListGPU)
                    {
                        var htmlDocLinks = htmlWeb.Load(itemLink);


                        //Model names of GPU
                        var gpuModelName = htmlDocLinks.DocumentNode.SelectNodes("//ul[@class='bx-short-desc']/li[contains(text(), 'Модель')]");

                        foreach (var linksGPU in gpuModelName)
                        {
                            Console.WriteLine(linksGPU.InnerText);
                        }



                        //Frequency of GPUs
                        var gpuVideoFrequency = htmlDocLinks.DocumentNode.SelectNodes("//ul[@class='bx-short-desc']/li[contains(text(), 'Частота видеопроцессора')]");

                        foreach (var linksGPU in gpuVideoFrequency)
                        {
                            Console.WriteLine(linksGPU.InnerText);
                        }

                        //Memory Frequency of GPUs
                        var gpuMemoryFrequency = htmlDocLinks.DocumentNode.SelectNodes("//ul[@class='bx-short-desc']/li[contains(text(), 'Частота видеопамяти')]");

                        foreach (var linksGPU in gpuMemoryFrequency)
                        {
                            Console.WriteLine(linksGPU.InnerText);
                        }

                        //Video Memory type
                        var gpuMemoryType = htmlDocLinks.DocumentNode.SelectNodes("//ul[@class='bx-short-desc']/li[contains(text(), 'Тип видеопамяти')]");

                        foreach (var linksGPU in gpuMemoryType)
                        {
                            Console.WriteLine(linksGPU.InnerText);
                        }

                        //Video Memory size
                        var gpuMemorySize = htmlDocLinks.DocumentNode.SelectNodes("//ul[@class='bx-short-desc']/li[contains(text(), 'Объем видеопамяти')]");

                        foreach (var linksGPU in gpuMemorySize)
                        {
                            Console.WriteLine(linksGPU.InnerText);
                        }

                        //Video Memory type
                        var gpuMemoryWidth = htmlDocLinks.DocumentNode.SelectNodes("//ul[@class='bx-short-desc']/li[contains(text(), 'Разрядность шины видеопамяти')]");

                        foreach (var linksGPU in gpuMemoryWidth)
                        {
                            Console.WriteLine(linksGPU.InnerText);
                        }

                        //Universal processor count
                        var gpuProcessorCount = htmlDocLinks.DocumentNode.SelectNodes("//ul[@class='bx-short-desc']/li[contains(text(), 'Количество универсальных')]");

                        foreach (var linksGPU in gpuProcessorCount)
                        {
                            Console.WriteLine(linksGPU.InnerText);
                        }

                        //Connection type
                        var gpuConnectionType = htmlDocLinks.DocumentNode.SelectNodes("//ul[@class='bx-short-desc']/li[contains(text(), 'Разъемы')]");

                        foreach (var linksGPU in gpuConnectionType)
                        {
                            Console.WriteLine(linksGPU.InnerText);
                        }

                        //Prices
                        var productPrices = htmlDocLinks.DocumentNode.SelectNodes("//div[@title='Цена в интернет-магазине']");

                        foreach (var linksGPU in productPrices)
                        {
                            Console.WriteLine(linksGPU.InnerText + "\n");
                        }
                    }
                }
                else
                {
                    Loop = false;
                }
            }
        }
Exemple #2
0
        public static void shopkzCPU()
        {
            Console.OutputEncoding = Encoding.UTF8;

            bool Loop = true;

            var url = @"https://shop.kz";

            var htmlWeb = new HtmlWeb();

            var htmlDoc = htmlWeb.Load(url + "/protsessory/filter/almaty-is-v_nalichii-or-ojidaem-or-dostavim/apply/?PAGEN_1=1");

            //Getting links of products

            var node = htmlDoc.DocumentNode.SelectNodes("//div[@class='bx-catalog-middle-part']//div[@class='bx_catalog_item_title']//a[@href]");

            List <string> result1 = new List <string>();

            foreach (var ProductsHtmlSeparate in node)
            {
                var           ItemPage = ((url + ProductsHtmlSeparate.GetAttributeValue("href", null)));
                List <string> result   = ItemPage.Split(new char[] { ',' }).ToList();
                //This is bad and I don't like how this is done but I haven't found any way to do this better yet.
                result1.AddRange(result);
            }

            foreach (var itemLink in result1)
            {
                var htmlDocLinks = htmlWeb.Load(itemLink);


                //The type of the CPU
                var cpuType = htmlDocLinks.DocumentNode.SelectNodes("//ul[@class='bx-short-desc']/li[contains(text(), 'Тип процессора:')]");

                foreach (var linksCPU in cpuType)
                {
                    Console.WriteLine(linksCPU.InnerText);
                }



                //Number of sockets
                var cpuSocket = htmlDocLinks.DocumentNode.SelectNodes("//ul[@class='bx-short-desc']/li[contains(text(), 'Сокет')]");

                foreach (var linksCPU in cpuSocket)
                {
                    Console.WriteLine(linksCPU.InnerText);
                }

                //Number of cores
                var cpuCores = htmlDocLinks.DocumentNode.SelectNodes("//ul[@class='bx-short-desc']/li[contains(text(), 'Количество ядер')]");

                foreach (var linksCPU in cpuCores)
                {
                    Console.WriteLine(linksCPU.InnerText);
                }

                //CPU threads number
                var cpuThreads = htmlDocLinks.DocumentNode.SelectNodes("//ul[@class='bx-short-desc']/li[contains(text(), 'Количество потоков')]");

                foreach (var linksCPU in cpuThreads)
                {
                    Console.WriteLine(linksCPU.InnerText);
                }

                //CPU frequency
                var cpuFrequency = htmlDocLinks.DocumentNode.SelectNodes("//ul[@class='bx-short-desc']/li[contains(text(), 'Тактовая частота')]");

                foreach (var linksCPU in cpuFrequency)
                {
                    Console.WriteLine(linksCPU.InnerText);
                }

                //CPU microarchitecture
                var cpuArchitecture = htmlDocLinks.DocumentNode.SelectNodes("//ul[@class='bx-short-desc']/li[contains(text(), 'Микроархитектура')]");

                foreach (var linksCPU in cpuArchitecture)
                {
                    Console.WriteLine(linksCPU.InnerText);
                }

                //Cache size
                var cpuCache = htmlDocLinks.DocumentNode.SelectNodes("//ul[@class='bx-short-desc']/li[contains(text(), 'Объем кэша')]");

                foreach (var linksCPU in cpuCache)
                {
                    Console.WriteLine(linksCPU.InnerText);
                }

                //Integrated graph system
                var cpuIGS = htmlDocLinks.DocumentNode.SelectNodes("//ul[@class='bx-short-desc']/li[contains(text(), 'Интегрированная графическая система')]");

                foreach (var linksCPU in cpuIGS)
                {
                    Console.WriteLine(linksCPU.InnerText);
                }

                //Techprocess
                var cpuTechprocess = htmlDocLinks.DocumentNode.SelectNodes("//ul[@class='bx-short-desc']/li[contains(text(), 'Техпроцесс')]");

                foreach (var linksCPU in cpuTechprocess)
                {
                    Console.WriteLine(linksCPU.InnerText);
                }

                //Estimated power
                var cpuPower = htmlDocLinks.DocumentNode.SelectNodes("//ul[@class='bx-short-desc']/li[contains(text(), 'Расчетная мощность')]");

                foreach (var linksCPU in cpuPower)
                {
                    Console.WriteLine(linksCPU.InnerText);
                }

                //Prices
                var productPrices = htmlDocLinks.DocumentNode.SelectNodes("//div[@title='Цена в интернет-магазине']");

                foreach (var linksCPU in productPrices)
                {
                    Console.WriteLine(linksCPU.InnerText + "\n");
                }
            }



            //Getting all of that from next pages
            while (Loop == true)
            {
                var NextPageCheck = htmlDoc.DocumentNode.SelectNodes("//li[@class='bx-pag-next']/a").ToList();

                if (NextPageCheck.Count != 0)
                {
                    string link = url + NextPageCheck[0].Attributes["href"].Value;

                    var urlDecode = HttpUtility.HtmlDecode(link);
                    htmlDoc = htmlWeb.Load(urlDecode);


                    htmlDoc = htmlWeb.Load(link);

                    var nextPageNodeCPU = htmlDoc.DocumentNode.SelectNodes("//div[@class='bx-catalog-middle-part']//div[@class='bx_catalog_item_title']//a[@href]");

                    List <string> nextPageListCPU = new List <string>();

                    foreach (var ProductsHtmlSeparate in nextPageNodeCPU)
                    {
                        var           ItemPage    = ((url + ProductsHtmlSeparate.GetAttributeValue("href", null)));
                        List <string> nextPageCPU = ItemPage.Split(new char[] { ',' }).ToList();
                        //This is bad and I don't like how this is done but I haven't found any way to do this better yet.
                        nextPageListCPU.AddRange(nextPageCPU);
                    }

                    foreach (var itemLink in nextPageListCPU)
                    {
                        var htmlDocLinks = htmlWeb.Load(itemLink);


                        //The type of the CPU
                        var cpuType = htmlDocLinks.DocumentNode.SelectNodes("//ul[@class='bx-short-desc']/li[contains(text(), 'Тип процессора:')]");

                        foreach (var linksCPU in cpuType)
                        {
                            Console.WriteLine(linksCPU.InnerText);
                        }



                        //Number of sockets
                        var cpuSocket = htmlDocLinks.DocumentNode.SelectNodes("//ul[@class='bx-short-desc']/li[contains(text(), 'Сокет')]");

                        foreach (var linksCPU in cpuSocket)
                        {
                            Console.WriteLine(linksCPU.InnerText);
                        }

                        //Number of cores
                        var cpuCores = htmlDocLinks.DocumentNode.SelectNodes("//ul[@class='bx-short-desc']/li[contains(text(), 'Количество ядер')]");

                        foreach (var linksCPU in cpuCores)
                        {
                            Console.WriteLine(linksCPU.InnerText);
                        }

                        //CPU threads number
                        var cpuThreads = htmlDocLinks.DocumentNode.SelectNodes("//ul[@class='bx-short-desc']/li[contains(text(), 'Количество потоков')]");

                        foreach (var linksCPU in cpuThreads)
                        {
                            Console.WriteLine(linksCPU.InnerText);
                        }

                        //CPU frequency
                        var cpuFrequency = htmlDocLinks.DocumentNode.SelectNodes("//ul[@class='bx-short-desc']/li[contains(text(), 'Тактовая частота')]");

                        foreach (var linksCPU in cpuFrequency)
                        {
                            Console.WriteLine(linksCPU.InnerText);
                        }

                        //CPU microarchitecture
                        var cpuArchitecture = htmlDocLinks.DocumentNode.SelectNodes("//ul[@class='bx-short-desc']/li[contains(text(), 'Микроархитектура')]");

                        foreach (var linksCPU in cpuArchitecture)
                        {
                            Console.WriteLine(linksCPU.InnerText);
                        }

                        //Cache size
                        var cpuCache = htmlDocLinks.DocumentNode.SelectNodes("//ul[@class='bx-short-desc']/li[contains(text(), 'Объем кэша')]");

                        foreach (var linksCPU in cpuCache)
                        {
                            Console.WriteLine(linksCPU.InnerText);
                        }

                        //Integrated graph system
                        var cpuIGS = htmlDocLinks.DocumentNode.SelectNodes("//ul[@class='bx-short-desc']/li[contains(text(), 'Интегрированная графическая система')]");

                        foreach (var linksCPU in cpuIGS)
                        {
                            Console.WriteLine(linksCPU.InnerText);
                        }

                        //Techprocess
                        var cpuTechprocess = htmlDocLinks.DocumentNode.SelectNodes("//ul[@class='bx-short-desc']/li[contains(text(), 'Техпроцесс')]");

                        foreach (var linksCPU in cpuTechprocess)
                        {
                            Console.WriteLine(linksCPU.InnerText);
                        }

                        //Estimated power
                        var cpuPower = htmlDocLinks.DocumentNode.SelectNodes("//ul[@class='bx-short-desc']/li[contains(text(), 'Расчетная мощность')]");

                        foreach (var linksCPU in cpuPower)
                        {
                            Console.WriteLine(linksCPU.InnerText);
                        }

                        //Prices
                        var productPrices = htmlDocLinks.DocumentNode.SelectNodes("//div[@title='Цена в интернет-магазине']");

                        foreach (var linksCPU in productPrices)
                        {
                            Console.WriteLine(linksCPU.InnerText + "\n");
                        }
                    }
                }
                else
                {
                    Loop = false;
                }
            }
        }
Exemple #3
0
        public static void shopkzMotherboard()
        {
            Console.OutputEncoding = Encoding.UTF8;

            bool Loop = true;

            var url = @"https://shop.kz";

            var htmlWeb = new HtmlWeb();

            var htmlDoc = htmlWeb.Load(url + "/materinskie-platy/filter/almaty-is-v_nalichii-or-ojidaem-or-dostavim/apply/?PAGEN_1=1");

            //Getting links of products

            var node = htmlDoc.DocumentNode.SelectNodes("//div[@class='bx-catalog-middle-part']//div[@class='bx_catalog_item_title']//a[@href]");

            List <string> result1 = new List <string>();

            foreach (var ProductsHtmlSeparate in node)
            {
                var           ItemPage = ((url + ProductsHtmlSeparate.GetAttributeValue("href", null)));
                List <string> result   = ItemPage.Split(new char[] { ',' }).ToList();
                //This is bad and I don't like how this is done but I haven't found any way to do this better yet.
                result1.AddRange(result);
            }

            foreach (var itemLink in result1)
            {
                var htmlDocLinks = htmlWeb.Load(itemLink);


                //Socket
                var mothboardSocket = htmlDocLinks.DocumentNode.SelectNodes("//ul[@class='bx-short-desc']/li[contains(text(), 'Сокет:')]");

                foreach (var linksMB in mothboardSocket)
                {
                    Console.WriteLine(linksMB.InnerText);
                }



                //Chipset
                var mothboardChipset = htmlDocLinks.DocumentNode.SelectNodes("//ul[@class='bx-short-desc']/li[contains(text(), 'Чипсет')]");

                foreach (var linksMB in mothboardChipset)
                {
                    Console.WriteLine(linksMB.InnerText);
                }

                //Form factor
                var mothboardFactor = htmlDocLinks.DocumentNode.SelectNodes("//ul[@class='bx-short-desc']/li[contains(text(), 'Форм-фактор')]");

                foreach (var linksMB in mothboardFactor)
                {
                    Console.WriteLine(linksMB.InnerText);
                }

                //Memory slots number
                var mothboardMemorySlots = htmlDocLinks.DocumentNode.SelectNodes("//ul[@class='bx-short-desc']/li[contains(text(), 'Количество слотов памяти')]");

                foreach (var linksMB in mothboardMemorySlots)
                {
                    Console.WriteLine(linksMB.InnerText);
                }

                //SATA numbers
                var mothboardSATA = htmlDocLinks.DocumentNode.SelectNodes("//ul[@class='bx-short-desc']/li[contains(text(), 'Количество разъемов')]");

                foreach (var linksMB in mothboardSATA)
                {
                    Console.WriteLine(linksMB.InnerText);
                }

                //PCI numbers
                var mothboardPCI = htmlDocLinks.DocumentNode.SelectNodes("//ul[@class='bx-short-desc']/li[contains(text(), 'Количество слотов PCI')]");

                foreach (var linksMB in mothboardPCI)
                {
                    Console.WriteLine(linksMB.InnerText);
                }

                //Pins
                var mothboardPins = htmlDocLinks.DocumentNode.SelectNodes("//ul[@class='bx-short-desc']/li[contains(text(), 'Коннекторы питания')]");

                foreach (var linksMB in mothboardPins)
                {
                    Console.WriteLine(linksMB.InnerText);
                }

                //Prices
                var productPrices = htmlDocLinks.DocumentNode.SelectNodes("//div[@title='Цена в интернет-магазине']");

                foreach (var linksMB in productPrices)
                {
                    Console.WriteLine(linksMB.InnerText + "\n");
                }
            }



            //Getting all of that from next pages
            while (Loop == true)
            {
                var NextPageCheck = htmlDoc.DocumentNode.SelectNodes("//li[@class='bx-pag-next']/a").ToList();

                if (NextPageCheck.Count != 0)
                {
                    string link = url + NextPageCheck[0].Attributes["href"].Value;

                    var urlDecode = HttpUtility.HtmlDecode(link);
                    htmlDoc = htmlWeb.Load(urlDecode);


                    htmlDoc = htmlWeb.Load(link);

                    var nextPageNodeMB = htmlDoc.DocumentNode.SelectNodes("//div[@class='bx-catalog-middle-part']//div[@class='bx_catalog_item_title']//a[@href]");

                    List <string> nextPageListMBU = new List <string>();

                    foreach (var ProductsHtmlSeparate in nextPageNodeMB)
                    {
                        var           ItemPage   = ((url + ProductsHtmlSeparate.GetAttributeValue("href", null)));
                        List <string> nextPageMB = ItemPage.Split(new char[] { ',' }).ToList();
                        //This is bad and I don't like how this is done but I haven't found any way to do this better yet.
                        nextPageListMBU.AddRange(nextPageMB);
                    }

                    foreach (var itemLink in nextPageListMBU)
                    {
                        var htmlDocLinks = htmlWeb.Load(itemLink);


                        //Socket
                        var mothboardSocket = htmlDocLinks.DocumentNode.SelectNodes("//ul[@class='bx-short-desc']/li[contains(text(), 'Сокет:')]");

                        foreach (var linksMB in mothboardSocket)
                        {
                            Console.WriteLine(linksMB.InnerText);
                        }



                        //Chipset
                        var mothboardChipset = htmlDocLinks.DocumentNode.SelectNodes("//ul[@class='bx-short-desc']/li[contains(text(), 'Чипсет')]");

                        foreach (var linksMB in mothboardChipset)
                        {
                            Console.WriteLine(linksMB.InnerText);
                        }

                        //Form factor
                        var mothboardFactor = htmlDocLinks.DocumentNode.SelectNodes("//ul[@class='bx-short-desc']/li[contains(text(), 'Форм-фактор')]");

                        foreach (var linksMB in mothboardFactor)
                        {
                            Console.WriteLine(linksMB.InnerText);
                        }

                        //Memory slots number
                        var mothboardMemorySlots = htmlDocLinks.DocumentNode.SelectNodes("//ul[@class='bx-short-desc']/li[contains(text(), 'Количество слотов памяти')]");

                        foreach (var linksMB in mothboardMemorySlots)
                        {
                            Console.WriteLine(linksMB.InnerText);
                        }

                        //SATA numbers
                        var mothboardSATA = htmlDocLinks.DocumentNode.SelectNodes("//ul[@class='bx-short-desc']/li[contains(text(), 'Количество разъемов')]");

                        foreach (var linksMB in mothboardSATA)
                        {
                            Console.WriteLine(linksMB.InnerText);
                        }

                        //PCI numbers
                        var mothboardPCI = htmlDocLinks.DocumentNode.SelectNodes("//ul[@class='bx-short-desc']/li[contains(text(), 'Количество слотов PCI')]");

                        foreach (var linksMB in mothboardPCI)
                        {
                            Console.WriteLine(linksMB.InnerText);
                        }

                        //Pins
                        var mothboardPins = htmlDocLinks.DocumentNode.SelectNodes("//ul[@class='bx-short-desc']/li[contains(text(), 'Коннекторы питания')]");

                        foreach (var linksMB in mothboardPins)
                        {
                            Console.WriteLine(linksMB.InnerText);
                        }

                        //Prices
                        var productPrices = htmlDocLinks.DocumentNode.SelectNodes("//div[@title='Цена в интернет-магазине']");

                        foreach (var linksMB in productPrices)
                        {
                            Console.WriteLine(linksMB.InnerText + "\n");
                        }
                    }
                }
                else
                {
                    Loop = false;
                }
            }
        }