Ejemplo n.º 1
0
        public void ExcelDoldur(Sirket sirket, Worksheet sayfa1, Workbook Sirketler) //Şirketleri excel tablosuna aktarmak için kullanılan fonksiyon
        {
            sutunAdlari.Add("İl");                                                   //il kolonu
            sutunAdlari.Add("İlçe");                                                 //İlçe kolonu
            sutunAdlari.Add("Şirket Sektör");                                        //Sektor kolonu
            sutunAdlari.Add("Şirket Alt Sektör");                                    //Alt sektor kolonu
            sutunAdlari.Add("Şirket Adı");                                           //Şirket Adı kolonu
            sutunAdlari.Add("Şirket Tel - 1");                                       //Şirket Tel kolonu
            sutunAdlari.Add("Şirket Tel-2");                                         //Şirket Tel kolonu
            sutunAdlari.Add("Şirket Mail");                                          //Mail kolonu
            sutunAdlari.Add("Şirket WebSite");                                       //WebSite kolonu
            sutunAdlari.Add("Şirket Adresi");                                        //Adresi kolonu
            sutunAdlari.Add("Şirket Açıklaması");                                    //Şirket Açıklaması kolonu
            if (satir == 1)                                                          //Excel için ilk sütunları doldurma işlemi
            {
                for (int s = 0; s < 11; s++)
                {
                    Range rangeSutun = (Range)sayfa1.Cells[satir, sutun + s]; //Sutun Atlama işlemi
                    rangeSutun.Value = sutunAdlari[s];                        //Sutun adlarını doldurma işlemi
                }
                satir++;
            }
            Range range = (Range)sayfa1.Cells[satir, 1]; //Sutun Atlama işlemi

            range.Value = Il;                            //şirketin bulundugu ilin eklenmesi
            range       = (Range)sayfa1.Cells[satir, 2]; //Sutun Atlama işlemi
            range.Value = Ilce;                          //şirketin bulundugu Ilcenin eklenmesi
            range       = (Range)sayfa1.Cells[satir, 3]; //Sutun Atlama işlemi
            range.Value = sirket.SirketSektor;           //Şirket sektörünün eklenmesi
            range       = (Range)sayfa1.Cells[satir, 4]; //Sutun Atlama işlemi
            range.Value = sirket.SirketAltSektor;        //Şirket alt sektörünün eklenmesi
            range       = (Range)sayfa1.Cells[satir, 5]; //Sutun Atlama işlemi
            range.Value = sirket.SirketAdi;              //Şirket adının eklenmesi
            range       = (Range)sayfa1.Cells[satir, 6]; //Sutun Atlama işlemi
            if (sirket.SirketTel1 == "00")
            {
                range.Value = "-";
            }
            else
            {
                range.Value = sirket.SirketTel1;          //Şirket telinin eklenmesi;
            }
            range       = (Range)sayfa1.Cells[satir, 7];  //Sutun Atlama işlemi
            range.Value = sirket.SirketTel2;              //Şirket telinin eklenmesi
            range       = (Range)sayfa1.Cells[satir, 8];  //Sutun Atlama işlemi
            range.Value = sirket.SirketMail;              //Şirket mailinin eklenmesi
            range       = (Range)sayfa1.Cells[satir, 9];  //Sutun Atlama işlemi
            range.Value = sirket.SirketSite;              //Şirket sitesinin eklenmesi
            range       = (Range)sayfa1.Cells[satir, 10]; //Sutun Atlama işlemi
            range.Value = sirket.SirketAdresi;            //Şirket Adresinin eklenmesi
            range       = (Range)sayfa1.Cells[satir, 11]; //Sutun Atlama işlemi
            range.Value = sirket.SirketAciklama;          //Şirket açıklamasının eklenmesi
            satir++;
            Sirketler.Save();                             //Eklenenlerin Kaydedilmesi
        }
Ejemplo n.º 2
0
        public void SayfaGez(Worksheet Sayfa1, Workbook Sirketler)
        {
            int baslangic = Convert.ToInt32(cmbSayfa.Text);

            if (sayfasayisi == 1)
            {
                if (sirketler != null)
                {
                    sirketler.Clear();
                    sirketler_.Clear();
                }
                sirketler = driver.FindElements(By.XPath("//html/body/div[3]/section/div/div[2]/div[2]/div/div[2]/div/div/div/div[2]/div/h2/a")).ToList();//Şirket listesi
                foreach (var item in sirketler)
                {
                    sirketler_.Add(item.Text);
                }
                sayac        = 0;
                SirketSayisi = sirketler.Count;
                for (int k = 0; k < SirketSayisi; k++)//Şirket sayısı kadar dönen döngü
                {
                    try
                    {
                        ToplamSirketSayisi++;
                        Sirket sirket = new Sirket();                                                                // Sirket classı //Excele şirketleri eklemek için
                        sirketUrl = "https://www.find.com.tr/Company/" + StringReplace(sirketler_[sayac].ToLower()); //Her şirketin url si
                        driver.Navigate().GoToUrl(sirketUrl);
                        sayac++;
                        try
                        {
                            VeriCek(sirket);//Sirketin Verilerini Çeken fonksiyon
                        }
                        catch (Exception)
                        {
                            sirket.SirketTel1 = "-";
                            sirket.SirketTel2 = "-";
                        }
                        if (sirket.SirketTel1 == "-" || sirket.SirketTel2 == "-" || sirket.SirketTel2.Contains("X"))
                        {
                        }                                                                                               //İşe yaramayan şirketlerin elenmesi
                        else
                        {
                            string no1 = "" + sirket.SirketTel1[0] + sirket.SirketTel1[1]; //Şirket telefon no kontrolu
                            string no2 = "" + sirket.SirketTel2[0] + sirket.SirketTel2[1]; //Şirket telefon no kontrolu
                            if (no1 == "05" || no2 == "05")                                //İşe yarayan şirketlerin alınması için kontrol
                            {
                                foreach (var item in SirketAdlari)
                                {
                                    if (item == sirket.SirketAdi)
                                    {
                                        ExcelKontrol = true;
                                    }
                                }
                                if (ExcelKontrol == false)
                                {
                                    ExcelDoldur(sirket, Sayfa1, Sirketler);//Verileri excele aktaran fonksiyon
                                }
                                ExcelKontrol = false;
                            }
                        }
                    }
                    catch (Exception)
                    {
                        driver.Quit();
                        GirisYap(3000);
                        ToplamSirketSayisi++;

                        Sirket sirket = new Sirket();                                                                // Sirket classı //Excele şirketleri eklemek için
                        sirketUrl = "https://www.find.com.tr/Company/" + StringReplace(sirketler_[sayac].ToLower()); //Her şirketin url si
                        driver.Navigate().GoToUrl(sirketUrl);
                        sayac++;
                        try
                        {
                            VeriCek(sirket);//Sirketin Verilerini Çeken fonksiyon
                        }
                        catch (Exception)
                        {
                            sirket.SirketTel1 = "-";
                            sirket.SirketTel2 = "-";
                        }
                        if (sirket.SirketTel1 == "-" || sirket.SirketTel2 == "-" || sirket.SirketTel2.Contains("X"))
                        {
                        }                                                                                               //İşe yaramayan şirketlerin elenmesi
                        else
                        {
                            string no1 = "" + sirket.SirketTel1[0] + sirket.SirketTel1[1]; //Şirket telefon no kontrolu
                            string no2 = "" + sirket.SirketTel2[0] + sirket.SirketTel2[1]; //Şirket telefon no kontrolu
                            if (no1 == "05" || no2 == "05")                                //İşe yarayan şirketlerin alınması için kontrol
                            {
                                foreach (var item in SirketAdlari)
                                {
                                    if (item == sirket.SirketAdi)
                                    {
                                        ExcelKontrol = true;
                                    }
                                }
                                if (ExcelKontrol == false)
                                {
                                    ExcelDoldur(sirket, Sayfa1, Sirketler);//Verileri excele aktaran fonksiyon
                                }
                                ExcelKontrol = false;
                            }
                        }
                    }
                }
            }
            else if (sayfasayisi == 2)// 2 sayfa olunca yapılacaklar
            {
                if (sayfaKontrol == false)
                {
                    Sayfa2Baslangic = baslangic;
                    sayfaKontrol    = true;
                    sayfaKontrol2   = true;
                }
                else
                {
                    Sayfa2Baslangic = 1;
                }
                for (int m = Sayfa2Baslangic; m <= sayfasayisi; m++)
                {
                    if (sirketler != null)
                    {
                        sirketler.Clear();
                        sirketler_.Clear();
                    }
                    sirketler = driver.FindElements(By.XPath("//html/body/div[3]/section/div/div[2]/div[2]/div/div[2]/div/div/div/div[2]/div/h2/a")).ToList(); //Şirket listesi
                    foreach (var item in sirketler)                                                                                                            //şirket adlarını bi arraye alma
                    {
                        sirketler_.Add(item.Text);
                    }
                    sayac = 0;
                    for (int t = 0; t < sirketler.Count; t++)//şirket sayısı kadar döngü
                    {
                        try
                        {
                            ToplamSirketSayisi++;

                            Sirket sirket = new Sirket();                                                                //Yeni şirket nesnesi
                            sirketUrl = "https://www.find.com.tr/Company/" + StringReplace(sirketler_[sayac].ToLower()); //Her şirketin url si
                            driver.Navigate().GoToUrl(sirketUrl);
                            sayac++;
                            try
                            {
                                VeriCek(sirket);//Sirketin Verilerini Çeken fonksiyon
                            }
                            catch (Exception)
                            {
                                sirket.SirketTel1 = "-";
                                sirket.SirketTel2 = "-";
                            }
                            if (sirket.SirketTel1 == "-" || sirket.SirketTel2 == "-" || sirket.SirketTel2.Contains("X"))
                            {
                            }
                            else
                            {
                                string no1 = "" + sirket.SirketTel1[0] + sirket.SirketTel1[1]; //Şirket telefon no kontrolu
                                string no2 = "" + sirket.SirketTel2[0] + sirket.SirketTel2[1]; //Şirket telefon no kontrolu
                                if (no1 == "05" || no2 == "05")                                //İşe yarayan şirketlerin alınması için kontrol
                                {
                                    foreach (var item in SirketAdlari)
                                    {
                                        if (item == sirket.SirketAdi)
                                        {
                                            ExcelKontrol = true;
                                        }
                                    }
                                    if (ExcelKontrol == false)
                                    {
                                        ExcelDoldur(sirket, Sayfa1, Sirketler);//Verileri excele aktaran fonksiyon
                                    }
                                    ExcelKontrol = false;
                                }
                            }
                        }
                        catch (Exception)
                        {
                            driver.Quit();
                            GirisYap(3000);
                            ToplamSirketSayisi++;

                            Sirket sirket = new Sirket();                                                                //Yeni şirket nesnesi
                            sirketUrl = "https://www.find.com.tr/Company/" + StringReplace(sirketler_[sayac].ToLower()); //Her şirketin url si
                            driver.Navigate().GoToUrl(sirketUrl);
                            sayac++;
                            try
                            {
                                VeriCek(sirket);//Sirketin Verilerini Çeken fonksiyon
                            }
                            catch (Exception)
                            {
                                sirket.SirketTel1 = "-";
                                sirket.SirketTel2 = "-";
                            }
                            if (sirket.SirketTel1 == "-" || sirket.SirketTel2 == "-" || sirket.SirketTel2.Contains("X"))
                            {
                            }
                            else
                            {
                                string no1 = "" + sirket.SirketTel1[0] + sirket.SirketTel1[1]; //Şirket telefon no kontrolu
                                string no2 = "" + sirket.SirketTel2[0] + sirket.SirketTel2[1]; //Şirket telefon no kontrolu
                                if (no1 == "05" || no2 == "05")                                //İşe yarayan şirketlerin alınması için kontrol
                                {
                                    foreach (var item in SirketAdlari)
                                    {
                                        if (item == sirket.SirketAdi)
                                        {
                                            ExcelKontrol = true;
                                        }
                                    }
                                    if (ExcelKontrol == false)
                                    {
                                        ExcelDoldur(sirket, Sayfa1, Sirketler);//Verileri excele aktaran fonksiyon
                                    }
                                    ExcelKontrol = false;
                                }
                            }
                        }
                    }
                    Thread.Sleep(200);
                    if (m == 1)//Sayfa Değiştirme işlemi
                    {
                        try
                        {
                            string url = "https://www.find.com.tr/List/TumKategoriler/" + ilce + "-" + il + "?Page=2";//Sayfa Değiştirme urlsi
                            driver.Navigate().GoToUrl(url);
                        }
                        catch (Exception)
                        {
                            driver.Quit();
                            GirisYap(4000);
                            string url = "https://www.find.com.tr/List/TumKategoriler/" + ilce + "-" + il + "?Page=2";//Sayfa Değiştirme urlsi
                            driver.Navigate().GoToUrl(url);
                        }
                    }
                }
            }
            else
            {
                if (sayfaKontrol2 == false)
                {
                    CokSayfa      = baslangic;
                    sayfaKontrol2 = true;
                    sayfaKontrol  = true;
                }
                else
                {
                    CokSayfa = 1;
                }
                for (int a = CokSayfa; a <= sayfasayisi; a++)
                {
                    if (sirketler != null)
                    {
                        sirketler.Clear();
                        sirketler_.Clear();
                    }
                    sirketler = driver.FindElements(By.XPath("//html/body/div[3]/section/div/div[2]/div[2]/div/div[2]/div/div/div/div[2]/div/h2/a")).ToList();//Şirket listesi
                    foreach (var item in sirketler)
                    {
                        sirketler_.Add(item.Text);
                    }

                    sayac = 0;
                    for (int z = 0; z < sirketler.Count; z++)//Şirket sayısı kadar dönen döngü
                    {
                        ToplamSirketSayisi++;

                        try
                        {
                            Sirket sirket = new Sirket();
                            sirketUrl = @"https://www.find.com.tr/Company/" + StringReplace(sirketler_[sayac].ToLower());//Her şirketin url si
                            driver.Navigate().GoToUrl(sirketUrl);

                            sayac++;
                            try
                            {
                                VeriCek(sirket);//Sirketin Verilerini Çeken fonksiyon
                            }
                            catch (Exception)
                            {
                                sirket.SirketTel1 = "-";
                                sirket.SirketTel2 = "-";
                            }
                            if (sirket.SirketTel1 == "-" || sirket.SirketTel2 == "-" || sirket.SirketTel2.Contains("X"))
                            {
                            }
                            else
                            {
                                string no1 = "" + sirket.SirketTel1[0] + sirket.SirketTel1[1]; //Şirket telefon no kontrolu
                                string no2 = "" + sirket.SirketTel2[0] + sirket.SirketTel2[1]; //Şirket telefon no kontrolu
                                if (no1 == "05" || no2 == "05")                                //İşe yarayan şirketlerin alınması için kontrol
                                {
                                    foreach (var item in SirketAdlari)
                                    {
                                        if (item == sirket.SirketAdi)
                                        {
                                            ExcelKontrol = true;
                                        }
                                    }
                                    if (ExcelKontrol == false)
                                    {
                                        ExcelDoldur(sirket, Sayfa1, Sirketler);//Verileri excele aktaran fonksiyon
                                    }
                                    ExcelKontrol = false;
                                }
                            }
                        }
                        catch (Exception)
                        {
                            driver.Quit();
                            GirisYap(3000);
                            Sirket sirket = new Sirket();
                            sirketUrl = @"https://www.find.com.tr/Company/" + StringReplace(sirketler_[sayac].ToLower());//Her şirketin url si
                            driver.Navigate().GoToUrl(sirketUrl);
                            sayac++;
                            try
                            {
                                VeriCek(sirket);//Sirketin Verilerini Çeken fonksiyon
                            }
                            catch (Exception)
                            {
                                sirket.SirketTel1 = "-";
                                sirket.SirketTel2 = "-";
                            }
                            if (sirket.SirketTel1 == "-" || sirket.SirketTel2 == "-" || sirket.SirketTel2.Contains("X"))
                            {
                            }
                            else
                            {
                                string no1 = "" + sirket.SirketTel1[0] + sirket.SirketTel1[1]; //Şirket telefon no kontrolu
                                string no2 = "" + sirket.SirketTel2[0] + sirket.SirketTel2[1]; //Şirket telefon no kontrolu
                                if (no1 == "05" || no2 == "05")                                //İşe yarayan şirketlerin alınması için kontrol
                                {
                                    foreach (var item in SirketAdlari)
                                    {
                                        if (item == sirket.SirketAdi)
                                        {
                                            ExcelKontrol = true;
                                        }
                                    }
                                    if (ExcelKontrol == false)
                                    {
                                        ExcelDoldur(sirket, Sayfa1, Sirketler);//Verileri excele aktaran fonksiyon
                                    }
                                    ExcelKontrol = false;
                                }
                            }
                            continue;
                        }
                    }
                    if (a != sayfasayisi)//Sayfa Değiştirme işlemi
                    {
                        try
                        {
                            string sayfaurl = "https://www.find.com.tr/List/TumKategoriler/" + ilce + "-" + il + "?Page=" + (a + 1);//Sayfa Değiştirme urlsi
                            driver.Navigate().GoToUrl(sayfaurl);
                        }
                        catch (Exception)
                        {
                            driver.Quit();
                            GirisYap(100);
                            string sayfaurl = "https://www.find.com.tr/List/TumKategoriler/" + ilce + "-" + il + "?Page=" + (a + 1);//Sayfa Değiştirme urlsi
                            driver.Navigate().GoToUrl(sayfaurl);
                        }
                    }
                }
            }
        }
Ejemplo n.º 3
0
        private void VeriCek(Sirket sirket)                                                                                                               //Şirket detay sayfasından verileri çeken fonksiyon
        {
            sirket.SirketAdi          = driver.FindElement(By.XPath("//html/body/div[3]/section/div[1]/div/div/div[2]/div[1]/div[1]/h1")).Text;           //Şirket adı
            sirket.SirketAciklama     = driver.FindElement(By.XPath("//*[@id='About']/div[2]/div")).Text;                                                 //Şirket Açıklaması
            sirket.SirketSektorler    = driver.FindElements(By.XPath("/html/body/div[3]/section/div[1]/div/div/div[2]/div[2]/ul[1]/li/a/span")).ToList(); //Şirket Sektörleri
            sirket.SirketAltSektorler = driver.FindElements(By.XPath("/html/body/div[3]/section/div[1]/div/div/div[2]/div[2]/ul[2]/li")).ToList();        //Şirket alt sektorleri
            foreach (var item in sirket.SirketSektorler)                                                                                                  //Sektörlerin birleştirilmesi
            {
                if (sirket.SirketSektorler.Count == 1)
                {
                    sirket.SirketSektor = item.Text;
                }
                else if (item != sirket.SirketSektorler[0])
                {
                    sirket.SirketSektor += item.Text + "-";
                }
            }
            foreach (var item in sirket.SirketAltSektorler)//Alt Sektörlerin birleştirilmesi
            {
                if (sirket.SirketAltSektorler.Count == 1)
                {
                    sirket.SirketAltSektor = item.Text;
                }
                else if (item != sirket.SirketAltSektorler[0])
                {
                    sirket.SirketAltSektor += item.Text + "-";
                }
            }
            sirket.SirketAdresi = driver.FindElement(By.XPath("//html/body/div[3]/section/div[1]/div/div/div[2]/div[1]/div[1]/div[1]/h2")).Text;//Şirket Adresi
            try
            {
                sirket.SirketTel1 = driver.FindElement(By.XPath("//html/body/div[3]/section/div[1]/div/div/div[3]/div/ul/li[2]/a")).Text;//Şirket Tel
                if (sirket.SirketTel1 == "Mesaj Gönder")
                {
                    sirket.SirketTel1 = "-";
                }
                else if (sirket.SirketTel1.Contains("@"))
                {
                    sirket.SirketMail = sirket.SirketTel1;
                    sirket.SirketTel1 = "00";
                    telKontrol        = true;
                }
            }
            catch (Exception)
            {
                try
                {
                    sirket.SirketTel1 = driver.FindElement(By.XPath("//html/body/div[3]/section/div[2]/div/div/aside/div/div[3]/div[2]/ul/li[1]/a/span/span")).Text;//Şirket Tel
                }
                catch (Exception)
                { sirket.SirketTel1 = "-"; }
            }
            try
            {
                sirket.SirketTel2 = driver.FindElement(By.XPath("/html/body/div[3]/section/div[2]/div/div/aside/div/div[5]/div[2]/ul/li[2]/a/span/span")).Text;//Şirket Tel
            }
            catch (Exception)
            { sirket.SirketTel2 = "-"; }

            try
            {
                sirket.SirketSite = driver.FindElement(By.XPath("//html/body/div[3]/section/div[1]/div/div/div[3]/div/ul/li[3]/a/text()")).Text;//Şirket Site
            }
            catch (Exception)
            { sirket.SirketSite = "-"; }
            if (telKontrol == false)
            {
                try
                {
                    sirket.SirketMail = driver.FindElement(By.XPath("//html/body/div[3]/section/div[1]/div/div/div[3]/div/ul/li[2]/a/text()")).Text; //Şirket Mail
                                                                                                                                                     //html/body/div[3]/section/div[2]/div/div/aside/div/div[5]/div[2]/ul/li[3]/a/span
                }
                catch (Exception)
                {
                    try
                    {
                        sirket.SirketMail = driver.FindElement(By.XPath("//html/body/div[3]/section/div[2]/div/div/aside/div/div[5]/div[2]/ul/li[3]/a/span")).Text;
                    }
                    catch (Exception)
                    { sirket.SirketMail = " - "; }
                }
            }
            telKontrol = false;
        }