Beispiel #1
0
        public void SecondStepExtractOpinions()
        {
            bool            moreOpinionsExist = false;
            int             opinionNumberPage = 1;
            string          opinionUrl        = "opinie-";
            string          opinionFirstPage  = "#tab=reviews";
            OpinionDataHTML opinionData       = new OpinionDataHTML();
            Dictionary <int, List <string> > dictionaryWithHTMLOpinions = new Dictionary <int, List <string> >();

            ProductData mainData = new ProductData(url, pathToFileWebsiteTxt);

            this.Brand            = mainData.Brand;
            this.BriefDescription = mainData.BriefDescription;
            this.NumberOfReviews  = mainData.NumberOfReviews;
            this.Price            = mainData.Price;
            this.ProductName      = mainData.ProductName;
            this.Rating           = mainData.Rating;
            this.Type             = mainData.Type;
            this.Variants         = mainData.Variants;
            moreOpinionsExist     = mainData.MoreOpinionsExist;

            if (moreOpinionsExist)
            {
                bool isMorePage = ExistMoreThanOnePage(pathToFileWebsiteTxt);

                if (opinionNumberPage == 1)
                {
                    string subUrl = string.Format(
                        "{0}/{1}",
                        url,
                        opinionFirstPage
                        );

                    ConvertHTMLToTxt(subUrl);
                    GetHTMLOpinions(pathToFileWebsiteTxt, opinionData);
                }

                while (isMorePage)
                {
                    opinionNumberPage++;

                    string subUrl = string.Format(
                        "{0}/{1}{2}",
                        url,
                        opinionUrl,
                        opinionNumberPage.ToString()
                        );

                    ConvertHTMLToTxt(subUrl);
                    GetHTMLOpinions(pathToFileWebsiteTxt, opinionData);

                    isMorePage = ExistMoreThanOnePage(pathToFileWebsiteTxt);
                }
            }
            else
            {
                GetHTMLOpinions(pathToFileWebsiteTxt, opinionData);
            }

            dictionaryWithHTMLOpinions = opinionData.DictionaryWithHTMLOpinions;

            Opinions = new Opinions(dictionaryWithHTMLOpinions, pathToFileOneOpinion);

            RemoveFilesFromTemp();
        }
Beispiel #2
0
        private void GetHTMLOpinions(string filePath, OpinionDataHTML opinionData)
        {
            var file = File.ReadAllLines(filePath);

            opinionData.GetHTMLOpinions(file);
        }