public ActionResult Index(string gelenUrl) { WebClient client = new WebClient(); string url = gelenUrl; Uri urlDomain = new Uri(url); string downloadString = client.DownloadString(url);//parametre olarak gelcek -- HTML olarak content indirilir byte[] bytes = Encoding.Default.GetBytes(downloadString); downloadString = Encoding.UTF8.GetString(bytes); //indirilen HTML utf-8 e çevrildi. Yapılmasa da olur zira ingilizce yaptık sonradan. var htmlDoc = new HtmlDocument(); htmlDoc.LoadHtml(downloadString); //Oluşturulan HtmlDocument tipindeki veriye indirilen html içeriği atanır. int cumleSayisi = 0; //TF-IDF hesaplamaları için cümle sayılarının tutulacağı değişken. var stopWords = StopWords.GetStopWords("en"); // Metin işlenirken yararı olmayacak kelimelerin ayıklanması adına ingilizce stopwordsun ilgili değişkene atanması. List <string> kelimeler = new List <string>(); HtmlIsleyici htmlIsleyici1 = new HtmlIsleyici(); htmlIsleyici1.htmlIsle(htmlDoc); kelimeler = htmlIsleyici1.kelimeler; cumleSayisi = htmlIsleyici1.cumleSayisi; KelimeDuzeltici kelimeDuzeltici1 = new KelimeDuzeltici(); kelimeler = kelimeDuzeltici1.kelimeDuzelt(kelimeler, urlDomain); List <WordAndFreq> kelimeFrekans = new List <WordAndFreq>(); KelimeFrekansYapici kelimeFrekansYapici1 = new KelimeFrekansYapici(); kelimeFrekans = kelimeFrekansYapici1.KelimeFrekansYap(kelimeler); TfIdfCalculator agirlikHesap = new TfIdfCalculator(); List <WordAndWeight> weihtedKelimeler = new List <WordAndWeight>(); AgirlikliKelimeListesi agirlikliKelimeListesi1 = new AgirlikliKelimeListesi(); weihtedKelimeler = agirlikliKelimeListesi1.AgirlikliListeYap(kelimeFrekans, kelimeler.Count, cumleSayisi); AnahtarKelimeBelirleyici anahtarKelimeBelirleyici1 = new AnahtarKelimeBelirleyici(); List <WordAndFreq> anahtarKelimeler = new List <WordAndFreq>(); anahtarKelimeler = anahtarKelimeBelirleyici1.AnahtarKelimeBelirle(weihtedKelimeler, kelimeFrekans); Asama2ViewModel asama2ViewModel = new Asama2ViewModel(); asama2ViewModel.KeywordListesi = anahtarKelimeler; //return View(asama2ViewModel); return(RedirectToAction("Index", "Asama3", new { gelenUrl = url })); }
public ActionResult Index(string gelenUrl) { WebClient client = new WebClient(); string url = gelenUrl; Uri urlDomain = new Uri(url); Console.WriteLine("Domain part : " + urlDomain.Host); //Domain ayrıştırır string downloadString = client.DownloadString(url);//parametre olarak gelcek -- HTML olarak content indirilir byte[] bytes = Encoding.Default.GetBytes(downloadString); downloadString = Encoding.UTF8.GetString(bytes); //indirilen HTML utf-8 e çevrildi. Yapılmasa da olur zira ingilizce yaptık sonradan. var htmlDoc = new HtmlDocument(); htmlDoc.LoadHtml(downloadString); //Oluşturulan HtmlDocument tipindeki veriye indirilen html içeriği atanır. int cumleSayisi = 0; //TF-IDF hesaplamaları için cümle sayılarının tutulacağı değişken. var stopWords = StopWords.GetStopWords("en"); // Metin işlenirken yararı olmayacak kelimelerin ayıklanması adına ingilizce stopwordsun ilgili değişkene atanması. List <string> kelimeler = new List <string>(); HtmlIsleyici htmlIsleyici1 = new HtmlIsleyici(); htmlIsleyici1.htmlIsle(htmlDoc); kelimeler = htmlIsleyici1.kelimeler; cumleSayisi = htmlIsleyici1.cumleSayisi; KelimeDuzeltici kelimeDuzeltici1 = new KelimeDuzeltici(); kelimeler = kelimeDuzeltici1.kelimeDuzelt(kelimeler, urlDomain); List <WordAndFreq> kelimeFrekans = new List <WordAndFreq>(); KelimeFrekansYapici kelimeFrekansYapici1 = new KelimeFrekansYapici(); kelimeFrekans = kelimeFrekansYapici1.KelimeFrekansYap(kelimeler); Asama1ViewModel asama1ViewModel = new Asama1ViewModel(); asama1ViewModel.FrekansListesi = kelimeFrekans; return(View(asama1ViewModel)); }
public double BenzerlikBul(string gelenUrl, string gelenUrl2) { double sonuc = 0; WebClient client = new WebClient(); string url = gelenUrl; string url2 = gelenUrl2; Uri urlDomain = new Uri(url); Uri urlDomain2 = new Uri(url2); string downloadString = ""; string downloadString2 = ""; try { downloadString = client.DownloadString(url);//parametre olarak gelcek -- HTML olarak content indirilir downloadString2 = client.DownloadString(url2); } catch { } byte[] bytes = Encoding.Default.GetBytes(downloadString); downloadString = Encoding.UTF8.GetString(bytes); //indirilen HTML utf-8 e çevrildi. Yapılmasa da olur zira ingilizce yaptık sonradan. byte[] bytes2 = Encoding.Default.GetBytes(downloadString2); downloadString2 = Encoding.UTF8.GetString(bytes2); var htmlDoc = new HtmlDocument(); htmlDoc.LoadHtml(downloadString); //Oluşturulan HtmlDocument tipindeki veriye indirilen html içeriği atanır. var htmlDoc2 = new HtmlDocument(); htmlDoc2.LoadHtml(downloadString2); int cumleSayisi = 0; //TF-IDF hesaplamaları için cümle sayılarının tutulacağı değişken. int cumleSayisi2 = 0; var stopWords = StopWords.GetStopWords("en"); // Metin işlenirken yararı olmayacak kelimelerin ayıklanması adına ingilizce stopwordsun ilgili değişkene atanması. List <string> kelimeler = new List <string>(); List <string> kelimeler2 = new List <string>(); HtmlIsleyici htmlIsleyici1 = new HtmlIsleyici(); htmlIsleyici1.htmlIsle(htmlDoc); kelimeler = htmlIsleyici1.kelimeler; cumleSayisi = htmlIsleyici1.cumleSayisi; HtmlIsleyici htmlIsleyici2 = new HtmlIsleyici(); htmlIsleyici2.htmlIsle(htmlDoc2); kelimeler2 = htmlIsleyici2.kelimeler; cumleSayisi2 = htmlIsleyici2.cumleSayisi; KelimeDuzeltici kelimeDuzeltici1 = new KelimeDuzeltici(); kelimeler = kelimeDuzeltici1.kelimeDuzelt(kelimeler, urlDomain); KelimeDuzeltici kelimeDuzeltici2 = new KelimeDuzeltici(); kelimeler2 = kelimeDuzeltici2.kelimeDuzelt(kelimeler2, urlDomain2); List <WordAndFreq> kelimeFrekans = new List <WordAndFreq>(); List <WordAndFreq> kelimeFrekans2 = new List <WordAndFreq>(); KelimeFrekansYapici kelimeFrekansYapici1 = new KelimeFrekansYapici(); kelimeFrekans = kelimeFrekansYapici1.KelimeFrekansYap(kelimeler); KelimeFrekansYapici kelimeFrekansYapici2 = new KelimeFrekansYapici(); kelimeFrekans2 = kelimeFrekansYapici2.KelimeFrekansYap(kelimeler2); TfIdfCalculator agirlikHesap = new TfIdfCalculator(); TfIdfCalculator agirlikHesap2 = new TfIdfCalculator(); List <WordAndWeight> weihtedKelimeler = new List <WordAndWeight>(); List <WordAndWeight> weihtedKelimeler2 = new List <WordAndWeight>(); AgirlikliKelimeListesi agirlikliKelimeListesi1 = new AgirlikliKelimeListesi(); AgirlikliKelimeListesi agirlikliKelimeListesi2 = new AgirlikliKelimeListesi(); weihtedKelimeler = agirlikliKelimeListesi1.AgirlikliListeYap(kelimeFrekans, kelimeler.Count, cumleSayisi); weihtedKelimeler2 = agirlikliKelimeListesi2.AgirlikliListeYap(kelimeFrekans2, kelimeler2.Count, cumleSayisi2); AnahtarKelimeBelirleyici anahtarKelimeBelirleyici1 = new AnahtarKelimeBelirleyici(); List <WordAndFreq> anahtarKelimeler = new List <WordAndFreq>(); anahtarKelimeler = anahtarKelimeBelirleyici1.AnahtarKelimeBelirle(weihtedKelimeler, kelimeFrekans); AnahtarKelimeBelirleyici anahtarKelimeBelirleyici2 = new AnahtarKelimeBelirleyici(); List <WordAndFreq> anahtarKelimeler2 = new List <WordAndFreq>(); anahtarKelimeler2 = anahtarKelimeBelirleyici2.AnahtarKelimeBelirle(weihtedKelimeler2, kelimeFrekans2); KosinusBenzerlik kosinusBenzerlik = new KosinusBenzerlik(); sonuc = kosinusBenzerlik.BenzerlikBul(anahtarKelimeler, anahtarKelimeler2); return(sonuc); }
static void Main(string[] args) { WebClient client = new WebClient(); string url = "https://tr.wikipedia.org/wiki/Anasayfa"; Uri urlDomain = new Uri(url); Console.WriteLine("Domain part : " + urlDomain.Host); //Domain ayrıştırır string aranacak = urlDomain.Host; Console.WriteLine("Aranacak------------>" + aranacak); string downloadString = client.DownloadString(url);//parametre olarak gelcek -- HTML olarak content indirilir byte[] bytes = Encoding.Default.GetBytes(downloadString); downloadString = Encoding.UTF8.GetString(bytes); //indirilen HTML utf-8 e çevrildi. Yapılmasa da olur zira ingilizce yaptık sonradan. var htmlDoc = new HtmlDocument(); htmlDoc.LoadHtml(downloadString); //Oluşturulan HtmlDocument tipindeki veriye indirilen html içeriği atanır. int cumleSayisi = 0; //TF-IDF hesaplamaları için cümle sayılarının tutulacağı değişken. var stopWords = StopWords.GetStopWords("en"); // Metin işlenirken yararı olmayacak kelimelerin ayıklanması adına ingilizce stopwordsun ilgili değişkene atanması. List <string> kelimeler = new List <string>(); if (htmlDoc.DocumentNode.SelectNodes("//a[@href]") != null) { foreach (HtmlNode node in htmlDoc.DocumentNode.SelectNodes("//a[@href]")) { string hrefValue = node.GetAttributeValue("href", string.Empty); if (hrefValue.Contains(aranacak)) { Console.WriteLine(hrefValue); } } } //HtmlIsleyici htmlIsleyici1 = new HtmlIsleyici(); //htmlIsleyici1.htmlIsle(htmlDoc); //kelimeler = htmlIsleyici1.kelimeler; //cumleSayisi = htmlIsleyici1.cumleSayisi; //KelimeDuzeltici kelimeDuzeltici1 = new KelimeDuzeltici(); //kelimeler=kelimeDuzeltici1.kelimeDuzelt(kelimeler, urlDomain); //List<WordAndFreq> kelimeFrekans = new List<WordAndFreq>(); //KelimeFrekansYapici kelimeFrekansYapici1 = new KelimeFrekansYapici(); //kelimeFrekans=kelimeFrekansYapici1.KelimeFrekansYap(kelimeler); //Console.WriteLine("Kelimeler son "+kelimeler.Count); //Console.WriteLine("Cümle sayısı: " + cumleSayisi); //Console.WriteLine("--------------=======================SIRALI===================----------------------"); //foreach (var item in kelimeFrekans) //{ // Console.WriteLine(item.Word + " " + item.Frequency); //} //TfIdfCalculator agirlikHesap = new TfIdfCalculator(); //List<WordAndWeight> weihtedKelimeler = new List<WordAndWeight>(); //AgirlikliKelimeListesi agirlikliKelimeListesi1 = new AgirlikliKelimeListesi(); //weihtedKelimeler = agirlikliKelimeListesi1.AgirlikliListeYap(kelimeFrekans, kelimeler.Count, cumleSayisi); //Console.WriteLine("Agirliklar belli oldu-------------------------------"); //foreach (var item in weihtedKelimeler) //{ // Console.WriteLine(item.Word+"---------------"+item.Weight); //} //Console.WriteLine("??????????????????????????ANAHTAR KELİMELER???????????????????????????????"); //AnahtarKelimeBelirleyici anahtarKelimeBelirleyici1 = new AnahtarKelimeBelirleyici(); //List<WordAndFreq> anahtarKelimeler = new List<WordAndFreq>(); //anahtarKelimeler = anahtarKelimeBelirleyici1.AnahtarKelimeBelirle(weihtedKelimeler, kelimeFrekans); //foreach (var item in anahtarKelimeler) //{ // Console.WriteLine(item.Word+ " ----- "+ item.Frequency); //} Console.ReadLine(); }