/// <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); } } }