Excel Veri Çekme Sorunu

  1. KısayolKısayol reportŞikayet pmÖzel Mesaj
    kartalkethuda
    kartalkethuda's avatar
    Kayıt Tarihi: 28/Mayıs/2007
    Erkek

    https://www.hafizoglu.net/download/lgs-yerlestirme-sonuclarini-toplu-listeleme-indir/?wpdmdl=10322&refresh=66f27946204121727166790

    arkadaşlar mrb. elime şöyle bir excel dosyası geçti fakat öğrenci bilgilerini çekmeye çalışırken sonuç sayfasına captcha eklendiği için başarısız oluyor. öğrenci tcsi, okul numarası ve doğum tarihini girdikten sonra ben captcha yı manuel girsem ve tamama basınca işlemine devam etse benim işimi fazlasıyla görür. 

    Ama ya ne gerek var captchayı kendi çözer derseniz o bomba olur. yardımcı olursanız çok makbule geçer. 

     

    teşekkür ederim bu şekilde çözülüyormuş. Makrosunu kullanmak üzere lazım olabilir.

    https://www.hafizoglu.net/download/lgs-yerlestirme-sonuclarini-toplu-listeleme-guvenlik-kodlu/?wpdmdl=10334&refresh=66f387cb5ef171727236043

     

    kartalkethuda tarafından 25/Eyl/24 10:40 tarihinde düzenlenmiştir

    maşiyi görüyon mu maşiyi?
  2. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Tekken'deki Eddy
    Prometheus
    Prometheus's avatar
    Kayıt Tarihi: 25/Aralık/2002
    Homo

    hocam hiç anlamam claude'ye sordum :


    Merhaba! Anladığım kadarıyla LGS yerleştirme sonuçlarını toplu olarak çekmek istiyorsunuz, ancak captcha nedeniyle sorun yaşıyorsunuz. Size yardımcı olmak için elimden geleni yapacağım, ancak öncelikle bazı önemli noktaları belirtmek isterim:
     
    1. Kişisel verilerin korunması çok önemlidir. Öğrenci bilgilerini toplu olarak çekmek, veri koruma yasalarına aykırı olabilir.
     
    2. Captcha'ları otomatik olarak çözmek veya bypass etmek, genellikle yasal ve etik değildir. Bu, sistemin güvenliğini ihlal etmek anlamına gelebilir.
     
    3. Eğer bu işlemi yapmak için resmi bir yetkiniz varsa, sistemi sağlayan kurumla iletişime geçerek toplu veri çekme konusunda yardım istemeniz daha uygun olabilir.
     
    Bu uyarıları göz önünde bulundurarak, size yardımcı olabileceğim daha uygun bir yöntem önerebilirim:
     
    1. Manuel giriş yöntemi: Bahsettiğiniz gibi, TC kimlik numarası, okul numarası ve doğum tarihini girdikten sonra captcha'yı manuel olarak girebileceğiniz bir script hazırlayabiliriz. Bu, otomasyonu sağlarken captcha'yı bypass etme sorununu ortadan kaldırır.
     
    2. Selenium ile web otomasyonu: Python ve Selenium kullanarak, tarayıcıyı kontrol eden ve gerekli alanları dolduran bir script yazabiliriz. Captcha kısmına geldiğinde script duracak ve sizden manuel giriş bekleyecektir.
     
    Eğer bu yaklaşım size uygunsa, aşağıdaki gibi bir Python script taslağı hazırlayabilirim:
     
     
     
    ```python
    from selenium import webdriver
    from selenium.webdriver.common.by import By
    from selenium.webdriver.support.ui import WebDriverWait
    from selenium.webdriver.support import expected_conditions as EC
    import pandas as pd
    import time
     
    def get_student_info(tc, okul_no, dogum_tarihi):
        driver = webdriver.Chrome()  # Chrome sürücüsünü başlat
        driver.get("https://e-okul.meb.gov.tr/IlkOgretim/OGR/IOG03001.aspx")  # LGS sonuç sayfasına git
     
        # Gerekli alanları doldur
        driver.find_element(By.ID, "txtTCKimlikNo").send_keys(tc)
        driver.find_element(By.ID, "txtOkulNo").send_keys(okul_no)
        driver.find_element(By.ID, "txtDogumTarihi").send_keys(dogum_tarihi)
     
        # Captcha için bekle
        input("Captcha'yı doldurun ve Enter'a basın...")
     
        # Giriş yap butonuna tıkla
        driver.find_element(By.ID, "btnGiris").click()
     
        # Sonuçların yüklenmesini bekle
        WebDriverWait(driver, 10).until(EC.presence_of_element_located((By.ID, "lblSonuc")))
     
        # Sonuçları al
        sonuc = driver.find_element(By.ID, "lblSonuc").text
     
        driver.quit()
        return sonuc
     
    # Excel dosyasını oku
    df = pd.read_excel("ogrenci_listesi.xlsx")
     
    sonuclar = []
     
    for index, row in df.iterrows():
        tc = row['TC']
        okul_no = row['Okul No']
        dogum_tarihi = row['Doğum Tarihi']
        
        sonuc = get_student_info(tc, okul_no, dogum_tarihi)
        sonuclar.append(sonuc)
        
        time.sleep(2)  # Sunucuya aşırı yük bindirmemek için bekleme
     
    df['Sonuç'] = sonuclar
    df.to_excel("sonuclar.xlsx", index=False)
     
    ```
     
    Bu script şunları yapacaktır:
     
    1. Excel dosyasından öğrenci bilgilerini okur.
    2. Her öğrenci için:
       - Tarayıcıyı açar ve LGS sonuç sayfasına gider.
       - TC, okul numarası ve doğum tarihini girer.
       - Captcha için sizden manuel giriş bekler.
       - Giriş yapıldıktan sonra sonucu alır.
    3. Tüm sonuçları yeni bir Excel dosyasına kaydeder.
     
    Bu script'i kullanmak için şunları yapmanız gerekecek:
     
    1. Python ve gerekli kütüphaneleri (selenium, pandas) yüklemeniz.
    2. ChromeDriver'ı indirip PATH'e eklemeniz.
    3. Excel dosyanızı "ogrenci_listesi.xlsx" olarak kaydetmeniz ve script ile aynı dizine koymanız.
     
    Lütfen bu script'i kullanırken yasal ve etik kuralları göz önünde bulundurun. Ayrıca, sunucuya aşırı yük bindirmemek için işlemler arasında bekleme süresi ekledim.
     
    Eğer bu çözüm size uygunsa veya başka sorularınız varsa, lütfen bana bildirin. Size daha fazla yardımcı olmaktan memnuniyet duyarım.
     
     
     
    from selenium import webdriver
    from selenium.webdriver.common.by import By
    from selenium.webdriver.support.ui import WebDriverWait
    from selenium.webdriver.support import expected_conditions as EC
    import pandas as pd
    import time
     
    def get_student_info(tc, okul_no, dogum_tarihi):
        driver = webdriver.Chrome()  # Chrome sürücüsünü başlat
        driver.get("https://e-okul.meb.gov.tr/IlkOgretim/OGR/IOG03001.aspx")  # LGS sonuç sayfasına git
     
        # Gerekli alanları doldur
        driver.find_element(By.ID, "txtTCKimlikNo").send_keys(tc)
        driver.find_element(By.ID, "txtOkulNo").send_keys(okul_no)
        driver.find_element(By.ID, "txtDogumTarihi").send_keys(dogum_tarihi)
     
        # Captcha için bekle
        input("Captcha'yı doldurun ve Enter'a basın...")
     
        # Giriş yap butonuna tıkla
        driver.find_element(By.ID, "btnGiris").click()
     
        # Sonuçların yüklenmesini bekle
        WebDriverWait(driver, 10).until(EC.presence_of_element_located((By.ID, "lblSonuc")))
     
        # Sonuçları al
        sonuc = driver.find_element(By.ID, "lblSonuc").text
     
        driver.quit()
        return sonuc
     
    # Excel dosyasını oku
    df = pd.read_excel("ogrenci_listesi.xlsx")
     
    sonuclar = []
     
    for index, row in df.iterrows():
        tc = row['TC']
        okul_no = row['Okul No']
        dogum_tarihi = row['Doğum Tarihi']
        
        sonuc = get_student_info(tc, okul_no, dogum_tarihi)
        sonuclar.append(sonuc)
        
        time.sleep(2)  # Sunucuya aşırı yük bindirmemek için bekleme
     
    df['Sonuç'] = sonuclar
    df.to_excel("sonuclar.xlsx", index=False)

    ________ inspired by love and guided by knowledge _______
  3. KısayolKısayol reportŞikayet pmÖzel Mesaj
    kartalkethuda
    kartalkethuda's avatar
    Kayıt Tarihi: 28/Mayıs/2007
    Erkek

    oraya kadar göstermediler abi :) biz o gün bilardoya kaçmıştık.


    maşiyi görüyon mu maşiyi?
  4. KısayolKısayol reportŞikayet pmÖzel Mesaj
    kartalkethuda
    kartalkethuda's avatar
    Kayıt Tarihi: 28/Mayıs/2007
    Erkek

    buldum buraya yazacağım çözümü tşkler


    maşiyi görüyon mu maşiyi?
  5. KısayolKısayol reportŞikayet pmÖzel Mesaj
    _PesimisT_
    _PesimisT_'s avatar
    Kayıt Tarihi: 27/Nisan/2008
    Erkek

    https://www.bilgisayarbilisim.net/konular/lgs-toplu-sonu%C3%A7-d%C3%BCzenleme.181179/page-6

    Bu sayfada vardı sanırım. 


    Bu dahil; tüm genellemeler yanlıştır! Yolcu; Kendi Yolunda.... Şükür biz Allahtan başka sahibi olmayanlarız!
Toplam Hit: 715 Toplam Mesaj: 5
excel