public int kelimeSayisi(string html, string aranankelime, Htmlİslemleri Cek_veri, string etiket) { HtmlAgilityPack.HtmlDocument htmldoc = new HtmlAgilityPack.HtmlDocument(); htmldoc.LoadHtml(html); aranankelime.ToLower(); aranankelime = turkcelestir(aranankelime); HtmlNodeCollection basliklar = htmldoc.DocumentNode.SelectNodes(etiket); List <string> liste = new List <string>(); if (basliklar != null) { foreach (var baslik in basliklar) { liste.Add(baslik.InnerText); } int y; string[] stringDizi = new string[liste.Count]; for (int i = 0; i < liste.Count; i++) { stringDizi[i] = liste[i].ToString(); } string tekstring; tekstring = ConvertStringArrayToString(stringDizi); tekstring = tekstring.ToLower(); turkcelestir(tekstring); y = Cek_veri.FindWord(tekstring, aranankelime); return(y); } return(0); }
protected void SearchButton_Click(object sender, EventArgs e) { text_goruntule.Text = " "; string url = UrlText.Text; string arananKelime = KeyText.Text; Htmlİslemleri Cek_veri = new Htmlİslemleri(); //Htmli çekiyoruz string html = Cek_veri.GetVeri(url); //html ve aranan kelimedeki harfleri küçültüp,Türkçe karakter yapıyoruz. html = html.ToLower(); arananKelime = arananKelime.ToLower(); html = turkcelestir(html); arananKelime = turkcelestir(arananKelime); //Tag nesnelerimizi yaratıyoruz #region Nesne yaratılan UrlPuan urlpuan = new UrlPuan(); Title title = new Title(); h2 h2 = new h2(); h3 h3 = new h3(); h1 h1 = new h1(); Head head = new Head(); Th th = new Th(); LabelHtml label = new LabelHtml(); ahref a = new ahref(); Span span = new Span(); int toplamKelimeSayisi; #endregion #region etiketlere göre sayıları aldığımız kısım int title_sayi = title.kelimeSayisi(html, arananKelime, Cek_veri, title.etiket); int a_sayi = a.kelimeSayisi(html, arananKelime, Cek_veri, a.etiket); int h1_sayi = h1.kelimeSayisi(html, arananKelime, Cek_veri, h1.etiket); int h2_sayi = h2.kelimeSayisi(html, arananKelime, Cek_veri, h2.etiket); int h3_sayi = h3.kelimeSayisi(html, arananKelime, Cek_veri, h3.etiket); int th_sayi = th.kelimeSayisi(html, arananKelime, Cek_veri, th.etiket); int label_sayi = label.kelimeSayisi(html, arananKelime, Cek_veri, label.etiket); int span_sayi = span.kelimeSayisi(html, arananKelime, Cek_veri, span.etiket); int head_Sayi = head.kelimeSayisi(html, arananKelime, Cek_veri, head.etiket); #endregion toplamKelimeSayisi = th_sayi + h1_sayi + title_sayi + a_sayi + title_sayi + h2_sayi + h3_sayi + span_sayi + head_Sayi + label_sayi; text_goruntule.Text = "Toplam Kelime Sayısı : " + toplamKelimeSayisi.ToString(); }
public List <string> esAnlamMethod(List <string> kelime_list) { List <HtmlNode> linkNode = new List <HtmlNode>(); Htmlİslemleri Cek_veri = new Htmlİslemleri(); List <string> esAnlam = new List <string>(); for (int i = 0; i < kelime_list.Count; i++) { List <string> parcala; string donen; string htmlstring; string kelimeUrl = "http://www.es-anlam.com/kelime/" + kelime_list[i]; htmlstring = Cek_veri.GetVeri(kelimeUrl); HtmlAgilityPack.HtmlDocument htmldoc = new HtmlAgilityPack.HtmlDocument(); htmldoc.LoadHtml(htmlstring); HtmlNodeCollection link = htmldoc.DocumentNode.SelectNodes("//strong"); if (link != null) { if (link[1].InnerText == "BULUNAMADI !") { continue; } if (link[1].InnerText.Contains(',')) { parcala = link[1].InnerText.Split(',').ToList(); for (int h = 0; h < parcala.Count; h++) { donen = parcala[h].Trim(); esAnlam.Add(donen); } } else { esAnlam.Add(link[1].InnerText); } } } return(esAnlam); }
public List <string> hrefDonduren(List <string> url_list, int j) { string htmlstring; List <string> hrefTags = new List <string>(); Htmlİslemleri Cek_veri = new Htmlİslemleri(); List <string> liste = new List <string>(); //Url listesi kadar htmllerini çekiyoruz //Siteye ulaşılıp ulaşılmadığı kontrol edılıyor. try { htmlstring = Cek_veri.GetVeri(url_list[j]); HtmlAgilityPack.HtmlDocument htmldoc = new HtmlAgilityPack.HtmlDocument(); htmldoc.LoadHtml(htmlstring); //Html de a href taglerini buluyoruz. if (htmldoc.DocumentNode.SelectNodes("//a[@href]") != null) { foreach (HtmlNode link in htmldoc.DocumentNode.SelectNodes("//a[@href]")) { HtmlAttribute att = link.Attributes["href"]; hrefTags.Add(att.Value); //linklerimizi alıyoruz //Yavaş olmasın diye hreflere sınır koyduk. if (hrefTags.Count == 200) { return(hrefTags); } } } } //Ulaşılamayan url listeden kaldırılıyor. catch (Exception) { url_list.RemoveAt(j); } return(hrefTags); }
public List <double> puanHesapla(List <string> url_list) { #region tanımlamalar Title title = new Title(); ahref a = new ahref(); List <int> list = new List <int>(); UrlPuan url_puan = new UrlPuan(); List <double> title_Puan = new List <double>(); List <double> ahref_Puan = new List <double>(); List <double> h1_Puan = new List <double>(); List <double> h2_Puan = new List <double>(); List <double> h3_Puan = new List <double>(); List <double> h4_Puan = new List <double>(); List <double> h5_Puan = new List <double>(); List <double> h6_Puan = new List <double>(); List <double> big_Puan = new List <double>(); List <double> bold_Puan = new List <double>(); List <double> em_Puan = new List <double>(); List <double> head_Puan = new List <double>(); List <double> label_Puan = new List <double>(); List <double> li_Puan = new List <double>(); List <double> link_Puan = new List <double>(); List <double> option_Puan = new List <double>(); List <double> p_Puan = new List <double>(); List <double> span_Puan = new List <double>(); List <double> strong_Puan = new List <double>(); List <double> th_Puan = new List <double>(); // List<double> toplamPuan = new List<double>(); double[] toplamPuan = new double[kelime_list.Count]; ahref ahref = new ahref(); h1 h1 = new h1(); h2 h2 = new h2(); h3 h3 = new h3(); h4 h4 = new h4(); h5 h5 = new h5(); h6 h6 = new h6(); Head head = new Head(); LabelHtml labelHtml = new LabelHtml(); Link link = new Link(); Span span = new Span(); Strong strong = new Strong(); Bold bold = new Bold(); Em em = new Em(); Li li = new Li(); Option option = new Option(); Th th = new Th(); LabelHtml labelhtml = new LabelHtml(); Htmlİslemleri Cek_veri = new Htmlİslemleri(); string htmlstring; List <int> kelimeSayilari = new List <int>(); int KeyCount = 0; List <double> standartSapmaListesi = new List <double>(); double standartSapma; List <double> URLpuan = new List <double>(); double tekUrlPuan = 0; #endregion for (int j = 0; j < url_list.Count; j++) { htmlstring = Cek_veri.GetVeri(url_list[j]); HtmlAgilityPack.HtmlDocument htmldoc = new HtmlAgilityPack.HtmlDocument(); htmldoc.LoadHtml(htmlstring); #region etiketPuanlama title_Puan = title.sıralamaPuan(url_list, kelime_list, Cek_veri, title.etiket, title.puan, htmldoc); ahref_Puan = ahref.sıralamaPuan(url_list, kelime_list, Cek_veri, ahref.etiket, ahref.puan, htmldoc); h1_Puan = h1.sıralamaPuan(url_list, kelime_list, Cek_veri, h1.etiket, h1.puan, htmldoc); h2_Puan = h2.sıralamaPuan(url_list, kelime_list, Cek_veri, h2.etiket, h2.puan, htmldoc); h3_Puan = h3.sıralamaPuan(url_list, kelime_list, Cek_veri, h3.etiket, h3.puan, htmldoc); h4_Puan = h4.sıralamaPuan(url_list, kelime_list, Cek_veri, h4.etiket, h4.puan, htmldoc); h5_Puan = h5.sıralamaPuan(url_list, kelime_list, Cek_veri, h5.etiket, h5.puan, htmldoc); h6_Puan = h6.sıralamaPuan(url_list, kelime_list, Cek_veri, h6.etiket, h6.puan, htmldoc); strong_Puan = strong.sıralamaPuan(url_list, kelime_list, Cek_veri, strong.etiket, strong.puan, htmldoc); bold_Puan = bold.sıralamaPuan(url_list, kelime_list, Cek_veri, bold.etiket, bold.puan, htmldoc); em_Puan = em.sıralamaPuan(url_list, kelime_list, Cek_veri, em.etiket, em.puan, htmldoc); head_Puan = head.sıralamaPuan(url_list, kelime_list, Cek_veri, head.etiket, head.puan, htmldoc); label_Puan = labelhtml.sıralamaPuan(url_list, kelime_list, Cek_veri, labelhtml.etiket, labelhtml.puan, htmldoc); li_Puan = li.sıralamaPuan(url_list, kelime_list, Cek_veri, li.etiket, li.puan, htmldoc); link_Puan = link.sıralamaPuan(url_list, kelime_list, Cek_veri, link.etiket, link.puan, htmldoc); option_Puan = option.sıralamaPuan(url_list, kelime_list, Cek_veri, option.etiket, option.puan, htmldoc); span_Puan = span.sıralamaPuan(url_list, kelime_list, Cek_veri, span.etiket, span.puan, htmldoc); th_Puan = th.sıralamaPuan(url_list, kelime_list, Cek_veri, th.etiket, th.puan, htmldoc); #endregion tekUrlPuan = 0; for (int i = 0; i < kelime_list.Count; i++) { KeyCount = Cek_veri.FindWord(htmlstring, kelime_list[i]); if (kelimeSayilari.Count == kelime_list.Count) { kelimeSayilari.Clear(); } kelimeSayilari.Add(KeyCount); if (i == kelime_list.Count - 1) { standartSapma = 0; standartSapma = standart(kelimeSayilari); standartSapmaListesi.Add(standartSapma); } #region uzunifkontrolu toplamPuan[i] = 0; if (ahref_Puan.Count != 0) { toplamPuan[i] = toplamPuan[i] + ahref_Puan[i]; } if (title_Puan.Count != 0) { toplamPuan[i] = toplamPuan[i] + title_Puan[i]; } if (h1_Puan.Count != 0) { toplamPuan[i] = toplamPuan[i] + h1_Puan[i]; } if (h2_Puan.Count != 0) { toplamPuan[i] = toplamPuan[i] + h2_Puan[i]; } if (h3_Puan.Count != 0) { toplamPuan[i] = toplamPuan[i] + h3_Puan[i]; } if (h4_Puan.Count != 0) { toplamPuan[i] = toplamPuan[i] + h4_Puan[i]; } if (h5_Puan.Count != 0) { toplamPuan[i] = toplamPuan[i] + h5_Puan[i]; } if (h6_Puan.Count != 0) { toplamPuan[i] = toplamPuan[i] + h6_Puan[i]; } if (strong_Puan.Count != 0) { toplamPuan[i] = toplamPuan[i] + strong_Puan[i]; } if (bold_Puan.Count != 0) { toplamPuan[i] = toplamPuan[i] + bold_Puan[i]; } if (head_Puan.Count != 0) { toplamPuan[i] = toplamPuan[i] + head_Puan[i]; } if (label_Puan.Count != 0) { toplamPuan[i] = toplamPuan[i] + label_Puan[i]; } if (li_Puan.Count != 0) { toplamPuan[i] = toplamPuan[i] + li_Puan[i]; } if (link_Puan.Count != 0) { toplamPuan[i] = toplamPuan[i] + link_Puan[i]; } if (option_Puan.Count != 0) { toplamPuan[i] = toplamPuan[i] + option_Puan[i]; } if (span_Puan.Count != 0) { toplamPuan[i] = toplamPuan[i] + span_Puan[i]; } if (th_Puan.Count != 0) { toplamPuan[i] = toplamPuan[i] + th_Puan[i]; } #endregion //2 kelime için puanı toplanıcak tekUrlPuan = tekUrlPuan + toplamPuan[i]; } if (kelime_list.Count == 1) { URLpuan.Add(tekUrlPuan); } else { URLpuan.Add(tekUrlPuan / standartSapmaListesi[j]); } } return(URLpuan); }
public void linkleriBul() { //Kullanıcının girdiği urlleri listeye attık string[] url_kumesi = TextBox1.Text.Split(','); for (int i = 0; i < url_kumesi.Count(); i++) { url_list.Add(url_kumesi[i]); } //Kullanıcının girdiği kelimeleri listeye attık string[] kelime_kumesi = TextBox2.Text.Split(','); for (int i = 0; i < kelime_kumesi.Count(); i++) { kelime_list.Add(kelime_kumesi[i]); } //Eş anlamlıları ekrana yazdırıyoruz List <string> sonuc = new List <string>(); List <string> esAnlam = esAnlamMethod(kelime_list); sonuc.Add("Kelimelerin eş anlamlısı:"); for (int j = 0; j < esAnlamMethod(kelime_list).Count; j++) { sonuc.Add(esAnlamMethod(kelime_list)[j]); } for (int c = 0; c < sonuc.Count; c++) { TextBox3.Text = TextBox3.Text + sonuc[c] + Environment.NewLine; } sonuc.Clear(); //Eş anlamlı kelimeler aranacak kelimelerin listesine ekleniyor. for (int i = 0; i < esAnlam.Count; i++) { kelime_list.Add(esAnlam[i]); } List <string> linkListesi = new List <string>(); Htmlİslemleri Cek_veri = new Htmlİslemleri(); List <string> liste = new List <string>(); List <string> ikinciListe = new List <string>(); //İlk derinliğe iniyoruz. for (int j = 0; j < url_list.Count; j++) { liste.AddRange(altDerinligeIn(hrefDonduren(url_list, j), j, url_list)); } //Ana urllerle ilk derinlikte çakışan urlleri temizliyoruz. for (int i = 0; i < url_list.Count; i++) { for (int j = 0; j < liste.Count; j++) { if (url_list[i] == liste[j]) { liste.RemoveAt(j); } } } //İkinci derinliğe iniyoruz for (int z = 0; z < liste.Count; z++) { ikinciListe.AddRange(altDerinligeIn(hrefDonduren(liste, z), z, liste)); } //İlk derinliteki urllerle ikinci derinlikte çakışan urlleri temizliyoruz. for (int i = 0; i < liste.Count; i++) { for (int j = 0; j < ikinciListe.Count; j++) { if (liste[i] == ikinciListe[j]) { ikinciListe.RemoveAt(j); } } } List <double> anaURL = puanHesapla(url_list); List <double> derinlik1 = puanHesapla(liste); List <double> derinlik2 = puanHesapla(ikinciListe); //Her link için puanlar ekrana yazdırılıyor. for (int i = 0; i < anaURL.Count; i++) { sonuc.Add(url_list[i]); sonuc.Add("puan: " + anaURL[i].ToString()); } for (int c = 0; c < sonuc.Count; c++) { TextBox4.Text = TextBox4.Text + sonuc[c] + Environment.NewLine; } sonuc.Clear(); for (int j = 0; j < derinlik1.Count; j++) { sonuc.Add(liste[j]); sonuc.Add("puan: " + derinlik1[j].ToString()); } for (int c = 0; c < sonuc.Count; c++) { TextBox5.Text = TextBox5.Text + sonuc[c] + Environment.NewLine; } sonuc.Clear(); for (int k = 0; k < derinlik2.Count; k++) { sonuc.Add(ikinciListe[k]); sonuc.Add("puan: " + derinlik2[k].ToString()); } for (int c = 0; c < sonuc.Count; c++) { TextBox6.Text = TextBox6.Text + sonuc[c] + Environment.NewLine; } sonuc.Clear(); double toplam = 0; List <double> yeniListe = new List <double>(); List <double> sonListe = new List <double>(); //Her derinlikteki ana urllere ait toplam puan listelere atılıyor. for (int j = 0; j < url_list.Count; j++) { for (int i = 0; i < liste.Count; i++) { if (liste[i].StartsWith(url_list[j])) { yeniListe.Add(derinlik1[i]); } } for (int a = 0; a < yeniListe.Count; a++) { toplam = toplam + yeniListe[a]; } sonListe.Add(toplam); toplam = 0; yeniListe.Clear(); } List <double> yeniListe2 = new List <double>(); List <double> sonListe2 = new List <double>(); for (int j = 0; j < url_list.Count; j++) { for (int i = 0; i < ikinciListe.Count; i++) { if (ikinciListe[i].StartsWith(url_list[j])) { yeniListe2.Add(derinlik2[i]); } } for (int a = 0; a < yeniListe2.Count; a++) { toplam = toplam + yeniListe2[a]; } sonListe2.Add(toplam); toplam = 0; yeniListe2.Clear(); } //Toplam puanlar ekrana bastırılıyor. for (int j = 0; j < sonListe.Count; j++) { sonuc.Add(url_list[j] + "sitesinin puanı: " + sonListe[j].ToString()); } for (int c = 0; c < sonuc.Count; c++) { TextBox5.Text = TextBox5.Text + sonuc[c] + Environment.NewLine; } sonuc.Clear(); for (int j = 0; j < sonListe2.Count; j++) { sonuc.Add(url_list[j] + "sitesinin puanı: " + sonListe2[j].ToString()); } for (int c = 0; c < sonuc.Count; c++) { TextBox6.Text = TextBox6.Text + sonuc[c] + Environment.NewLine; } sonuc.Clear(); #region Sıralama işlemleri List <string> siralama = new List <string>(); for (int i = 0; i < url_list.Count; i++) { for (int j = 1; j < url_list.Count - i; j++) { if (anaURL[j] < anaURL[j - 1]) { double gecici = anaURL[j - 1]; anaURL[j - 1] = anaURL[j]; anaURL[j] = gecici; string geciciURL = url_list[j - 1]; url_list[j - 1] = url_list[j]; url_list[j] = geciciURL; } } } url_list.Reverse(); anaURL.Reverse(); siralama.Clear(); siralama.Add("Sıralanmıs Hali:"); for (int i = 0; i < url_list.Count; i++) { siralama.Add(url_list[i]); siralama.Add("puan: " + anaURL[i].ToString()); } for (int c = 0; c < siralama.Count; c++) { TextBox4.Text = TextBox4.Text + siralama[c] + Environment.NewLine; } url_list.Clear(); for (int i = 0; i < url_kumesi.Count(); i++) { url_list.Add(url_kumesi[i]); } for (int i = 0; i < url_list.Count; i++) { for (int j = 1; j < url_list.Count - i; j++) { if (sonListe[j] < sonListe[j - 1]) { double gecici = sonListe[j - 1]; sonListe[j - 1] = sonListe[j]; sonListe[j] = gecici; string geciciURL = url_list[j - 1]; url_list[j - 1] = url_list[j]; url_list[j] = geciciURL; } } } url_list.Reverse(); sonListe.Reverse(); siralama.Clear(); siralama.Add("Sıralanmıs Hali:"); for (int i = 0; i < url_list.Count; i++) { siralama.Add(url_list[i]); siralama.Add("puan: " + sonListe[i].ToString()); } for (int c = 0; c < siralama.Count; c++) { TextBox5.Text = TextBox5.Text + siralama[c] + Environment.NewLine; } url_list.Clear(); for (int i = 0; i < url_kumesi.Count(); i++) { url_list.Add(url_kumesi[i]); } for (int i = 0; i < url_list.Count; i++) { for (int j = 1; j < url_list.Count - i; j++) { if (sonListe2[j] < sonListe2[j - 1]) { double gecici = sonListe2[j - 1]; sonListe2[j - 1] = sonListe2[j]; sonListe2[j] = gecici; string geciciURL = url_list[j - 1]; url_list[j - 1] = url_list[j]; url_list[j] = geciciURL; } } } url_list.Reverse(); sonListe2.Reverse(); siralama.Clear(); siralama.Add("Sıralanmıs Hali:"); for (int i = 0; i < url_list.Count; i++) { siralama.Add(url_list[i]); siralama.Add("puan: " + sonListe2[i].ToString()); } for (int c = 0; c < siralama.Count; c++) { TextBox6.Text = TextBox6.Text + siralama[c] + Environment.NewLine; } #endregion }
protected void btn_UrlSırala_Click(object sender, EventArgs e) { TextBox1.Text = ""; TextBox2.Text = ""; //Virgüle kadar ayırıyoruz. string[] url_kumesi = UrlText.Text.Split(','); //Textboxlara girilen verileri listeye attık. for (int i = 0; i < url_kumesi.Count(); i++) { url_list.Add(url_kumesi[i]); } string[] kelime_kumesi = KelimeText.Text.Split(','); for (int i = 0; i < kelime_kumesi.Count(); i++) { kelime_list.Add(kelime_kumesi[i]); } #region tanımlamalar Title title = new Title(); ahref a = new ahref(); List <int> list = new List <int>(); UrlPuan url_puan = new UrlPuan(); List <string> Result = new List <string>(); List <double> title_Puan = new List <double>(); List <double> ahref_Puan = new List <double>(); List <double> h1_Puan = new List <double>(); List <double> h2_Puan = new List <double>(); List <double> h3_Puan = new List <double>(); List <double> h4_Puan = new List <double>(); List <double> h5_Puan = new List <double>(); List <double> h6_Puan = new List <double>(); List <double> big_Puan = new List <double>(); List <double> bold_Puan = new List <double>(); List <double> em_Puan = new List <double>(); List <double> head_Puan = new List <double>(); List <double> label_Puan = new List <double>(); List <double> li_Puan = new List <double>(); List <double> link_Puan = new List <double>(); List <double> option_Puan = new List <double>(); List <double> p_Puan = new List <double>(); List <double> span_Puan = new List <double>(); List <double> strong_Puan = new List <double>(); List <double> th_Puan = new List <double>(); double[] toplamPuan = new double[kelime_list.Count]; ahref ahref = new ahref(); h1 h1 = new h1(); h2 h2 = new h2(); h3 h3 = new h3(); h4 h4 = new h4(); h5 h5 = new h5(); h6 h6 = new h6(); Head head = new Head(); LabelHtml labelHtml = new LabelHtml(); Link link = new Link(); Span span = new Span(); Strong strong = new Strong(); Bold bold = new Bold(); Em em = new Em(); Li li = new Li(); Option option = new Option(); Th th = new Th(); LabelHtml labelhtml = new LabelHtml(); Htmlİslemleri Cek_veri = new Htmlİslemleri(); string htmlstring; List <int> kelimeSayilari = new List <int>(); int KeyCount = 0; List <double> standartSapmaListesi = new List <double>(); double standartSapma; List <double> URLpuan = new List <double>(); double tekUrlPuan = 0; #endregion //Her url için html çekme ve puanlama işlemini yapıyoruz for (int j = 0; j < url_list.Count; j++) { htmlstring = Cek_veri.GetVeri(url_list[j]); HtmlAgilityPack.HtmlDocument htmldoc = new HtmlAgilityPack.HtmlDocument(); htmldoc.LoadHtml(htmlstring); #region etiketPuanlama title_Puan = title.sıralamaPuan(url_list, kelime_list, Cek_veri, title.etiket, title.puan, htmldoc); ahref_Puan = ahref.sıralamaPuan(url_list, kelime_list, Cek_veri, ahref.etiket, ahref.puan, htmldoc); h1_Puan = h1.sıralamaPuan(url_list, kelime_list, Cek_veri, h1.etiket, h1.puan, htmldoc); h2_Puan = h2.sıralamaPuan(url_list, kelime_list, Cek_veri, h2.etiket, h2.puan, htmldoc); h3_Puan = h3.sıralamaPuan(url_list, kelime_list, Cek_veri, h3.etiket, h3.puan, htmldoc); h4_Puan = h4.sıralamaPuan(url_list, kelime_list, Cek_veri, h4.etiket, h4.puan, htmldoc); h5_Puan = h5.sıralamaPuan(url_list, kelime_list, Cek_veri, h5.etiket, h5.puan, htmldoc); h6_Puan = h6.sıralamaPuan(url_list, kelime_list, Cek_veri, h6.etiket, h6.puan, htmldoc); strong_Puan = strong.sıralamaPuan(url_list, kelime_list, Cek_veri, strong.etiket, strong.puan, htmldoc); bold_Puan = bold.sıralamaPuan(url_list, kelime_list, Cek_veri, bold.etiket, bold.puan, htmldoc); em_Puan = em.sıralamaPuan(url_list, kelime_list, Cek_veri, em.etiket, em.puan, htmldoc); head_Puan = head.sıralamaPuan(url_list, kelime_list, Cek_veri, head.etiket, head.puan, htmldoc); label_Puan = labelhtml.sıralamaPuan(url_list, kelime_list, Cek_veri, labelhtml.etiket, labelhtml.puan, htmldoc); li_Puan = li.sıralamaPuan(url_list, kelime_list, Cek_veri, li.etiket, li.puan, htmldoc); link_Puan = link.sıralamaPuan(url_list, kelime_list, Cek_veri, link.etiket, link.puan, htmldoc); option_Puan = option.sıralamaPuan(url_list, kelime_list, Cek_veri, option.etiket, option.puan, htmldoc); span_Puan = span.sıralamaPuan(url_list, kelime_list, Cek_veri, span.etiket, span.puan, htmldoc); th_Puan = th.sıralamaPuan(url_list, kelime_list, Cek_veri, th.etiket, th.puan, htmldoc); #endregion tekUrlPuan = 0; for (int i = 0; i < kelime_list.Count; i++) { KeyCount = Cek_veri.FindWord(htmlstring, kelime_list[i]); if (kelimeSayilari.Count == kelime_list.Count) { kelimeSayilari.Clear(); } kelimeSayilari.Add(KeyCount); if (i == kelime_list.Count - 1) { standartSapma = 0; standartSapma = standart(kelimeSayilari); standartSapmaListesi.Add(standartSapma); } #region uzunifkontrolu toplamPuan[i] = 0; if (ahref_Puan.Count != 0) { toplamPuan[i] = toplamPuan[i] + ahref_Puan[i]; } if (title_Puan.Count != 0) { toplamPuan[i] = toplamPuan[i] + title_Puan[i]; } if (h1_Puan.Count != 0) { toplamPuan[i] = toplamPuan[i] + h1_Puan[i]; } if (h2_Puan.Count != 0) { toplamPuan[i] = toplamPuan[i] + h2_Puan[i]; } if (h3_Puan.Count != 0) { toplamPuan[i] = toplamPuan[i] + h3_Puan[i]; } if (h4_Puan.Count != 0) { toplamPuan[i] = toplamPuan[i] + h4_Puan[i]; } if (h5_Puan.Count != 0) { toplamPuan[i] = toplamPuan[i] + h5_Puan[i]; } if (h6_Puan.Count != 0) { toplamPuan[i] = toplamPuan[i] + h6_Puan[i]; } if (strong_Puan.Count != 0) { toplamPuan[i] = toplamPuan[i] + strong_Puan[i]; } if (bold_Puan.Count != 0) { toplamPuan[i] = toplamPuan[i] + bold_Puan[i]; } if (head_Puan.Count != 0) { toplamPuan[i] = toplamPuan[i] + head_Puan[i]; } if (label_Puan.Count != 0) { toplamPuan[i] = toplamPuan[i] + label_Puan[i]; } if (li_Puan.Count != 0) { toplamPuan[i] = toplamPuan[i] + li_Puan[i]; } if (link_Puan.Count != 0) { toplamPuan[i] = toplamPuan[i] + link_Puan[i]; } if (option_Puan.Count != 0) { toplamPuan[i] = toplamPuan[i] + option_Puan[i]; } if (span_Puan.Count != 0) { toplamPuan[i] = toplamPuan[i] + span_Puan[i]; } if (th_Puan.Count != 0) { toplamPuan[i] = toplamPuan[i] + th_Puan[i]; } #endregion //2 kelime için puanı toplanıcak tekUrlPuan = tekUrlPuan + toplamPuan[i]; } if (kelime_list.Count == 1) { URLpuan.Add(tekUrlPuan); } else { URLpuan.Add(tekUrlPuan / standartSapmaListesi[j]); } Result.Add(url_list[j]); Result.Add("puan: " + URLpuan[j].ToString()); for (int i = 0; i < kelime_list.Count; i++) { Result.Add(kelime_list[i] + ":" + kelimeSayilari[i].ToString()); } } double d = kelimeSayilari.Count / kelime_list.Count; for (int c = 0; c < Result.Count; c++) { TextBox1.Text = TextBox1.Text + Result[c] + Environment.NewLine; } #region sıralama List <string> sonuc = new List <string>(); sonuc.Add("Sıralanmış Hali:"); for (int i = 0; i < url_list.Count; i++) { for (int j = 1; j < url_list.Count - i; j++) { if (URLpuan[j] < URLpuan[j - 1]) { double gecici = URLpuan[j - 1]; URLpuan[j - 1] = URLpuan[j]; URLpuan[j] = gecici; string geciciURL = url_list[j - 1]; url_list[j - 1] = url_list[j]; url_list[j] = geciciURL; } } } url_list.Reverse(); URLpuan.Reverse(); for (int i = 0; i < url_list.Count; i++) { sonuc.Add(url_list[i]); sonuc.Add("puan: " + URLpuan[i].ToString()); } for (int c = 0; c < sonuc.Count; c++) { TextBox2.Text = TextBox2.Text + sonuc[c] + Environment.NewLine; } # endregion }
public List <double> sıralamaPuan(List <string> url, List <string> aranankelime, Htmlİslemleri Cek_veri, string etiket, double puan, HtmlAgilityPack.HtmlDocument htmldoc) { List <double> etiketPuan = new List <double>(); double anlikPuan = 0; HtmlNodeCollection basliklar = htmldoc.DocumentNode.SelectNodes(etiket); for (int j = 0; j < aranankelime.Count; j++) { aranankelime[j].ToLower(); aranankelime[j] = turkcelestir(aranankelime[j]); List <string> liste = new List <string>(); if (basliklar != null) { foreach (var baslik in basliklar) { liste.Add(baslik.InnerText); } double kelimeSayisi; string[] stringDizi = new string[liste.Count]; for (int k = 0; k < liste.Count; k++) { stringDizi[k] = liste[k].ToString(); } string tekstring; tekstring = ConvertStringArrayToString(stringDizi); tekstring = tekstring.ToLower(); tekstring = turkcelestir(tekstring); kelimeSayisi = Cek_veri.FindWord(tekstring, aranankelime[j]); /* * if (kelimeSayisi>50) * { * kelimeSayisi = kelimeSayisi / 5; * } * else if (kelimeSayisi > 40) * { * kelimeSayisi = kelimeSayisi / 4; * } * else if (kelimeSayisi > 30) * { * kelimeSayisi = kelimeSayisi / 3; * } * else if (kelimeSayisi > 20) * { * kelimeSayisi = kelimeSayisi / 2; * } */ anlikPuan = kelimeSayisi * puan; etiketPuan.Add(anlikPuan); } else { continue; } } return(etiketPuan); }