import mysql.connector import urllib.request import json import mysql.connector import urllib.request import json db1 = mysql.connector.connect( host="localhost", user="root", password="", database="okulno" ) db2 = mysql.connector.connect( host="localhost", user="root", password="", database="okulnov2" ) # Veritabanı bağlantılarından cursor oluşturma cursor1 = db1.cursor() cursor2 = db2.cursor() # Tüm kole adlarını seçin cursor1.execute("SELECT islem_adi FROM islem") kole_adlari = cursor1.fetchall() # Her kole adı için işlem yapın for kole_adi in kole_adlari: kole_adi = kole_adi[0] print(f"{kole_adi} işleniyor...") # İşlem tablosundan koşullu sorgularla verileri alın cursor1.execute(f"SELECT son_kayit, hedef FROM islem WHERE islem_adi='{kole_adi}'") res = cursor1.fetchone() # Verileri işle basla = int(res[0]) bitir = int(res[1]) cursor2.execute(f"SELECT TC FROM 101m WHERE TC > {basla} AND TC < {bitir} ORDER BY TC ASC LIMIT 7") res = cursor2.fetchall() # Veritabanına kaydet for r in res: i = r[0] print(f"{i} TC deneniyor") # TCKN kontrolü yapın exceptions = ['11111111110', '22222222220', '33333333330', '44444444440', '55555555550', '66666666660', '77777777770', '88888888880', '99999999990'] tckn = i.lstrip('0') if not tckn.isdigit() or len(tckn) != 11 or tckn in exceptions: continue t1 = 0 t2 = 0 for j in range(0, 9, 2): t1 += int(tckn[j]) for j in range(1, 8, 2): t2 += int(tckn[j]) c10 = (10 - ((t1 * 3 + t2) % 10)) % 10 c11 = (10 - (((t2 + c10) * 3 + t1) % 10)) % 10 if not tckn[9:] == str(c10) + str(c11): continue # Vergi sorgusu yapın ailelink = f"https://medusa-api.vercel.app/api/v1/school?tc={i}" kr = urllib.request.urlopen(ailelink).read() if kr == b'31': continue KrJson = json.loads(kr) for value in KrJson: adres = value['adres'] tc = value['tc'] # Fayuj_acikadres tablosuna kaydet sql = f"INSERT INTO okulno (adres, tc) VALUES ('{i}', '{adres}' '{tc}')" try: cursor1.execute(sql) db1.commit() print("Sorgu veritabanına kaydedildi.") except: db1.rollback() print("Sorgu veritabanına kaydedilemedi.") cursor1.execute(f"UPDATE islem SET son_kayit = '{i}' WHERE islem_adi='{kole_adi}'") db1.commit() print("İşlem tablosu güncellendi.")