Python zoom üzerinden otomatik yoklama alma programı

Bence gereksiz olur.

Buradaki modül ile yapan varmış. Kaynak.

OCR kütüphaneleri var ama sağlıklı bir şekilde okuyabilecekleri garanti değil hocam. Pytesseract kütüphanesi, bir görüntü üzerinden yazıları çıkartıyor ama her zaman doğru sonucu vermiyor. Belki de ben beceremedim bilmiyorum.

Kullanabilmek için tesseract-orc uygulamasını indirmeniz gerekiyor.

Şimdi aklıma geldi. Zoom buluşmasına web üzerinden giriş yaparsanız kullanıcılar listesi Javascript yardımıyla alınabilir sanırım. Bu listeyi bir python programına verdiğinizde karşılaştırma yapabilir.

kullanicilar = document.getElementsByClassName("participants-item__display-name");

var result = "";

for(let i=0;i<kullanicilar.length;i++){
	result += kullanicilar[i].innerText + "\n";
}

console.log(result);

Web sayfasında, participants butonuna tıklayıp, yukarıdaki kodu web konsolunda çalıştırırsanız kullanıcıların listesini konsola yazdıracaktır. Bu listeyi alıp Python programınızda bir listeyle karşılaştırırsınız. Evet biliyorum, zahmetli bir iş ama daha iyi bir çözümü olan varsa yazar.

1 Beğeni

hocam zoom buluşmasına web üzerinden girmek derken tarayıcı üzerinden giremiyorum ben nasıl yapabilirim onu

Buradan giriş yapıp, zoom buluşmasının ID’sini yazıyorsunuz. Size masaüstü uygulamada açıp açmayacağınızı soracak.

Siz cancel diyip, aşağıda bulunan Join from your browser linkine tıklayacaksınız.

image

1 Beğeni

çok teşekkür ederim hocam. bu yöntem zahmetli de olsa 80 90 kişiyi tek tek kontrol etmekten daha iyi gibi pythonda karşılaştırma işini de çözersem bi nebze rahatlatır beni

1 Beğeni

Siz kullanıcı isimlerini aldıysanız, Python kısmını da yardımlaşarak çözebiliriz burada.

aklımda şöyle bir şey oluştu şimdilik qt de bir arayüz tasarlıyacağım 2 girdili birisi listem olacak olması gerekenler bunu giricem ikinci kısma ise tarayıcadan aldığım isimleri giricem bir buton vasıtası ile de yoklama al a basınca ilk listede olup 2. listede olmayan isimleri bana listeleyecek qt tasarımını yapacam da kod konusunda 0 'ım :grinning:

Evet bir arayüz kullanmak daha yardımcı olabilir. Ama Qt arayüz tasarımı konusunda ben de yetkin değilim malesef.

qt ile bi deneyimim oldu kod konusunda size danışacağım sizde uygun görürseniz

1 Beğeni

Tabi burada, forumda elimizden geldiği kadar yardımcı olmaya çalışırız :slight_smile:

2 Beğeni

@coderistan hocamın yardımları ile geldiğim aşamaları paylaşmak istiyorum.

zoom toplantısına tarayıcı üzerinden girip yukarıda anlatıldığı gibi isim listesini alıyoruz.

sonrası için qt designer yardımı ile şöyle bir arayüz tasarladım

isim listemiz bölümüne ilk açılışta kaydedilecek olması gerekenler listesi alttaki buton vasıtası ile sql veri tabanına kaydedilecek bu sayede her seferinde tekrar tekrar doldurma ile uğraşılmayacak.
2. kısım olan şuan derste olanlar bölümüne ise tarayıcı konsolundan aldığımız şuan toplantı da olanlar ın isim listesini yapıştırıyoruz. altta ki yoklama al butonu vasıtası ile isim listemiz ile şuan toplantı da olanlar karşılaştırılacak isim listemizde olup derste olmayanlar olmayanlar bölümüne listemizde olmayıp derste olanlar ise fazlalar bölümüne yazılacak şuana kadar böyle bir şeyi kafamda tasarladım sql kaydetme işini kod ile halletmeye çalışıyorum takıldığım konularda yine siz değerli hocalarıma danışacağım

2 Beğeni

hocalarım günaydın

isim listemi sql ile tutmaktan vaz geçip daha kolay olması açısından basit bi txt dosyasına kaydedeyim ve gerektiğinde ordan çağırayım diye şöyle bir kod yazdım

#------------------Kütüphaneler--------------#
import sys
from PyQt5 import QtWidgets
from PyQt5.QtWidgets import *
from yoklamaUI import *


#-------------uygulama oluştur---------------#
Uygulama=QApplication(sys.argv)
penAna=QMainWindow()
ui=Ui_MainWindow()
ui.setupUi(penAna)
penAna.show()

#-------------Veri tabanı oluştur-------------#
def EKLE ():
    _liste1=open("isimlistesi.txt", "a+")
    _liste1.write(ui.isimler.text())
    _liste1.close()




#---------sinyal-------------------------#
ui.btnkaydet.clicked.connect(EKLE)

sys.exit(Uygulama.exec_())

ama kodu çalıştırıp qt ile tasarladığım arayüzdeki bölüme listemi yazıp kaydet butonuna basınca şu hatayı alıyorum

 File "C:\Users\User\Desktop\yoklama programı\main.py", line 25, in EKLE
    _liste1.write(ui.isimler.text())

AttributeError: 'QTextEdit' object has no attribute 'text'

tecrübem olmadığından neden bu hatayı aldığımı anlayamadım yardımcı olabilecek hocalarım umarım vardır.

arayüzü de ekliyorum

Merhaba,

Hatada yazdığı gibi, QText in test diye bir methodu vs. yok.

toPlainText işinizi görür.

Kolay gelsin.

Anahtar kelimeler: QText gettext

1 Beğeni

abi onun için öncellikle yoklamayı alanın host olması lazım

1 Beğeni

ben onu denedim de abi fotoğrafı metne dönüştürürken değişmeler olmakta

aslında bende bir kod var ama sizin derslerde 80 90 kişi varmış burada
o da seni yorar

1 Beğeni

bende olmuyor abi nedense bir hata veriyor

1 Beğeni

Değerli hocam çok teşekkür ediyorum. Verdiğiniz method işimi çözdü.

1 Beğeni

Ben o şekilde listeyi almayı başardım hocam o participants butonuna basınca consolda çalıştırdım ve listeyi verdi bana

iyi güzel de ben de webden girebilirsem deneyeceğim