Arama butonu
Bu konudaki kullanıcılar: 1 misafir
9
Cevap
572
Tıklama
0
Öne Çıkarma
Programlama Yardım!!!!
K
8 yıl (64 mesaj)
Çavuş
Konu Sahibi

Merhaba arkadaşlar. Ben bir beyanname takip programı yazmak istiyorum. Proje olarak kendime bunu belirledim. Program mali müşavirin kullanıcı adı ve şifresi ile maliyenin internet sitesi üzerinden veritabanına giriş yapacak ve oradaki beyannameleri sorgulayıp download edebilecek. Bunu nasıl ve hangi programlama dili ile yapabilirim? Üyelik girişini nasıl tanımlayabilirim. Beyanname sorgu kriterlerini nasıl tanımlayabilirim? Download etmek için normalde pdf dosyası simgesine tıklanması gerekiyor ve açılan pdf dosyasından kaydet butonuna basılması gerekiyor bunun tanımını nasıl yapabilirim? Amacım programlama dili öğrenmek ve bu projeyi gerçekleştirmek. Bilgisayarımıza hangi programlama dili ile yapılması gereken bu işlemlerin yolunu tanıtabiliriz. Hangi programlama dilini öğrenmem gerekiyor. Bu projeyi 4 ay içerisinde teslim etmem gerekiyor. Yardımlarınızı bekliyorum.

Not: Programlama alt yapım var. öğrenme açısından bir sıkıntım yok. Beynimin aldığı ve öğrenebildiğim tek şey bilgisayarla ilgili konulardır.

DH forumlarında vakit geçirmekten keyif alıyor gibisin ancak giriş yapmadığını görüyoruz.

Üye olduğunda özel mesaj gönderebilir, beğendiğin konuları favorilerine ekleyip takibe alabilir ve daha önce gezdiğin konulara hızlıca erişebilirsin.

Üye Ol Şimdi Değil



M
8 yıl (192 mesaj)
Teğmen

Anladığım kadarıyla bot yapmak istiyorsun, php bunun için uygun olabilir ama bunun haricinde java ile de c# ile de internet sitesinden veri çekebilirsin, veritabanı php java ise mysql c# ise mssql kullanabilirsin, bunun için açık kaynak bot scriptleri ve internet üzerinden veri çeken açık kaynak kodlarını incelersen sana yardımcı olur.


Bu mesaja 1 cevap geldi.
K
8 yıl (64 mesaj)
Çavuş
Konu Sahibi

quote:

Orijinalden alıntı: MyZor

Anladığım kadarıyla bot yapmak istiyorsun, php bunun için uygun olabilir ama bunun haricinde java ile de c# ile de internet sitesinden veri çekebilirsin, veritabanı php java ise mysql c# ise mssql kullanabilirsin, bunun için açık kaynak bot scriptleri ve internet üzerinden veri çeken açık kaynak kodlarını incelersen sana yardımcı olur.

İlginiz için teşekkür ederim. Veri çekmek istediğim sistem burası =>https://ebeyanname.gib.gov.tr/index.html sol taraftaki giriş tuşuna basıp kullanıcı bilgileriyle giriş yapılacak ve açılan sayfada sorgulama kriterleri belirtilerek çıkan sonuçların pdf dosyaları download edilecek.
Giriş tuşuna bastıktan sonra açılan login ekranının sayfa kaynağını görüntüledim ve javascript ile yazıldığını öğrendim. O halde kullanmam gereken Mysql oluyor doğru mu anladım?


Bu mesaja 1 cevap geldi.
M
8 yıl (192 mesaj)
Teğmen

Oranın yazıldığı dilden ziyade senin kullanacağın yazılım diline göre veritabanını seçmen uygun olur.




Bu mesajda bahsedilenler: @KhanCeylan
T
8 yıl (20069 mesaj)
Yarbay

Login, tıklama, farklı kaydet gibi klavyeden metin girişi ve fare tıklaması gerektiren işlemlere en uygun Selenium Framework'tur. Selenium kendisi Java ile yazıldığı için, programlarken de Java kullanmak en iyisi, Selenium ile ufak çaplı ticari bir proje tamamladım, oradan biliyorum fakat Selenium'un C# ve Ruby gibi diğer dillerle programlanabilen portları da var; selenium websitesinden bakabilirsiniz.



quote:

Giriş tuşuna bastıktan sonra açılan login ekranının sayfa kaynağını görüntüledim ve javascript ile yazıldığını öğrendim. O halde kullanmam gereken Mysql oluyor doğru mu anladım?




Javascript ile MySQL arasında hiçbir ilgi yok. En basit websayfasında bile js bulunur. O ayrı veritabanı ayrı. Geliştireceğin uygulamada verileri nasıl tutacağını soruyorsan, PDF'leri (ben olsam) dosya sisteminde yani <uygulama klasörü> \ PDFler \ 201707 \ gibi yıl-aya göre yeni klasörler açarak tutardım, veritabanı içinde tutmazdım. Onun dışında diğer verileri de JSON dosyasında tutardım. Yani her halukarda MySQL gibi ek kurulum ve işlem gerektiren veritabanı ile uğraşmazdım.



< Bu ileti mini sürüm kullanılarak atıldı >

T
8 yıl (20069 mesaj)
Yarbay

Selenium'la ufak bi teaser yaptım; SS'teki kod sayfayı açıp login linkini tıklıyor. Fakat site ilk girişte bile captcha uyguluyor , otomatik login için bir captcha solver bileşeni gerekecek, fakat açık kaynaklı birçok captcha çözücü var ve sitenin captcha zorluk derecesi düşük olduğu için çok uğraştırmaz...



< Resime gitmek için tıklayın >



< Bu ileti mini sürüm kullanılarak atıldı >
Bu mesaja 1 cevap geldi.
K
8 yıl (64 mesaj)
Çavuş
Konu Sahibi

quote:

Orijinalden alıntı: revivo72

Selenium'la ufak bi teaser yaptım; SS'teki kod sayfayı açıp login linkini tıklıyor. Fakat site ilk girişte bile captcha uyguluyor , otomatik login için bir captcha solver bileşeni gerekecek, fakat açık kaynaklı birçok captcha çözücü var ve sitenin captcha zorluk derecesi düşük olduğu için çok uğraştırmaz...



< Resime gitmek için tıklayın >

< Resime gitmek için tıklayın >

Benim kullandığım giriş ekranı bu şekilde. Sizin açmış olduğunuz sayfa ile de giriş yapılabiliyor. O yeni sistem zaten ama içerik olarak daha karışık. Benim dediğim sayfanın çözümlemesi daha kolay olacaktır diye düşünüyorum.



T
8 yıl (20069 mesaj)
Yarbay

Onlar esasen birer ayrıntı cunku sonuçta her işlem için Selenium da gerekli işlev var. Yeni giriş ekranında linki id'si buton, onu klikleme örneği . Bu seferki SS'te Java kodunu derlerken ve çalıştırırken kullandığım komut satırını da ekledim. Pop-up pencereye geçmek için driver.getWindowHandle() işlevi kullanılıyor.

< Resime gitmek için tıklayın >



< Bu ileti mini sürüm kullanılarak atıldı >
Bu mesaja 1 cevap geldi.
Y
8 yıl (2478 mesaj)
Yüzbaşı

Hocam sizce element seçerken xpath kullanmak mı daha iyidir yoksa standart id/class seçim mantığı mı?



< Bu ileti mobil sürüm kullanılarak atıldı >
Bu mesaja 1 cevap geldi.

Bu mesajda bahsedilenler: @revivo72
T
8 yıl (20069 mesaj)
Yarbay

Sayfadaki element/elemanlar aynı id/class a sahipse veya id/class bilgileri yoksa ve sayıca fazla ve iç içe geçmişler ise, id/class ile bulmak tabi ki zor Örneğin finans sayfaları iç içe geçmiş div'ler tablolar halindedir. ancak bir de reaktif tasarım diye birşey çıktı, onda

< span data-reactid=".13gx3ehb3ls.1.0.1.2.3.$1182593793945600.3.0.$2.0.0.2" > CEKiLECEK VERi < / span > gibi sunucunun react için kodladığı rasgele id'ler var, o yüzden id/class ile bulmak mümkün değil. O durumlarda Xpath en iyi çözümdür.



Benim SS'te login için durum sade olduğundan id/class yöntemini kullandım. Genelde karışık sayfalarda ilk işlemleri yaparken, parallax sayfayı aşağı doğru indirirken ve ilk verileri cekerken id/class yöntemi kullanışlı oluyor; sonraki işlemlerde Xpath gerekiyor.



< Bu ileti mini sürüm kullanılarak atıldı >


Bu mesajda bahsedilenler: @yoktur
DH Mobil uygulaması ile devam edin. Mobil tarayıcınız ile mümkün olanların yanı sıra, birçok yeni ve faydalı özelliğe erişin. Gizle ve güncelleme çıkana kadar tekrar gösterme.