Example #1
0
        /// <summary>
        /// Ajoute une occurence à un mot de la liste
        /// </summary>
        /// <param name="pWordToUp"></param>
        /// <param name="nbrOccurence"></param>
        public void AddWordOccurence(string pWordToUp)
        {
            bool found = false;

            foreach (WordETML word in words)
            {
                if (word.Value == pWordToUp)
                {
                    word.AddOccurence();
                    totalWordsOccurences++;
                    found = true;
                }
            }

            if (!found)
            {
                WordETML newWord = new WordETML(selfURL, pWordToUp, 0);
                newWord.AddOccurence();
                words.Add(newWord);
            }
        }
        /// <summary>
        /// Sépare et affiche tous les mots d'une page html
        /// </summary>
        /// <param name="url">URL de la page cible</param>
        /// <param name="url">URL de la page cible</param>
        public void RecoverAllWords(string url)
        {
            string newURL = url;

            //Si le lien n'est pas dans la liste
            if (!allLinksFinal.Contains(url) && !WebPageExists(url))
            {
                //Crée une nouvelle page web dans la bdd
                NewWebPage(url);

                //Ajoute de lien dans la liste
                allLinksFinal.Add(url);
            }

            //Pour chaque mots trouvé sur la page
            foreach (string word in getTextinHTML(url).Split(' '))
            {
                WordETML newWord = new WordETML(url, word, 0);
                //Si le mot contient des espace
                if (word.Contains(" "))
                {
                    string[] newWordResults = word.Split(' ');
                    foreach (string newWordPart in newWordResults)
                    {
                        CheckWordAvailability(word, url);
                    }
                }
                if (word.Length > 1)
                {
                    CheckWordAvailability(word, url);
                }
            }
            //Si l'url contient
            if (url.Contains("https://www.etml.ch"))
            {
                newURL = url.Remove(0, 19);
            }

            //Si l'url n'est pas vide
            if (newURL != "")
            {
                pagesChecked.Add(newURL);
            }
            //Pour tous les liens dans la liste
            foreach (string link in getLinks(url))
            {
                int finished = pagesChecked.Count * 100 / allLinksFinal.Count;
                if (finished <= 100)
                {
                    Console.Clear();
                    Console.WriteLine("{0}% terminé", finished);
                }
                else
                {
                    Console.Clear();
                    Console.WriteLine("99% terminé, veuillez patientez !");
                }

                //Si le lien n'a pas encore été checké
                if (!pagesChecked.Contains(url))
                {
                    allLinksFinal.Add(link);
                    //Relancer une recherche avec ce lien
                    RecoverAllWords("https://www.etml.ch" + link);
                }
            }
        }