Smart Widget Projesi

Merhabalar.Bir süredir proje arıyordum ve sanırım buldum.Projenin özelliklerini paylaşarak başlayacağım ve sizden bir kaç konuda yardım isteyeceğim.

Uygulama: Bu uygulama monitörde sizin istediğiniz yerde duruyor ve bir widget görevi görüyor.Bu uygulamaya isteklerinize göre eklenti indirip çalıştırabiliyorsunuz.350x450 boyutlarında bir ekranı var ve boyutunu ayarlayamıyorsunuz.

Uygulamanın Amacı : Herhangi bir tarayıcı açmadan,bilgi edinmede zorluk çekmeden ve kolay yoldan veriye erişmek.Örneğin “Haberler” eklentisini kurup tüm web sayfalarındaki haberlere bakabiliyorsunuz veya hangi sitelerden veri çekebileceğinizi ayarlayabiliyorsunuz.Herhangi bir reklam vb. şey uygulamaya destek dışında gösterilmiyor.

Uygulamanın Artıları : Daha hızlı,kolay,ergonomik ve yüksek oranda özelleştirmeye sahip.Sadece kullanacağınız şeyleri indiriyorsunuz.

Uygulamanın Eksileri : Programlama bilgisi orta seviye bile olmayan bir kişi tarafından kodlanıyor.Eklentileri indireceğiniz özel bir sunucu yok.Başka bir servis (GitHub olacak yüksek ihtimalle) yardımıyla eklenti indireceksiniz ve bu bazı sorunları meydana getirebilir.Henüz fikir aşamasında.Grafikleri (İkon,uygulama içi resimler vb. şeyler) henüz yok.

Kullanacağım Kütüphaneler:

Arayüz : Tkinter
Veri çekme : Request,beatifoulsoup4 ve urllib arasından tercih yapmam gerekiyor.Önerilerinizi bekliyorum.
Mobil versiyon çıkarsa : Kivy

İyi çalışmalar.

Tkinter ile frameless yapiliyor mu bilmiyorum ama pyqt5 de var eger tkinterds yoksa bence pyqt5 e gecin sonucta bir widget uygulamasi frame e sahip olmaz gibime geliyor dimi? Siz ne dersiniz?

Katılıyorum. Tkinterded de var frameless fakat orada çekilen bilgiyi tarayıcı gibi göstermede sıkıntı yaşar. Fakat pyqt5 de direk webengine var. Çok daha kolay ve kullanışlı olur. Aksi taktirde tkinterde kendi webenginesini yazması gerekecek

Sayfayı olduğu gibi göstereceksen eğer requests işini görür. Basit ayıklamalar yapıp öyle sunacaksan beatifoulsoup4 daha kullanışlı olur. Eğer sayfa kodlarında gelişmiş bir ayıklama ve arama yapıp kullanıcıya sunacaksanda beatifoulsoup4 kullanışlı olur fakat alternatif olarak requests ile birlikte re modülünüde kullanabilirsin. Re modülü stringler içerisinde gelişmiş arama yapmanı ve düzenlemeni sağlayacak araçlara sahip

Bir de günümüz sitelerinin olmazsa olmazı javascript var. Onu nasıl yapacaksınız?

Herkese merhaba,

Roboparser iş görebilir mi acaba :thinking:? Zamanında TDK’ den veri çekmeye çalışıyordum, birisi bana roboparser modülünü önermişti.

Yardımcı olması açısından iki link bırakıyorum buraya.

Anahtar kelimeler: web scraping

Robobrowser’in js çalıştırdığına dair bir bilgi bulamadım, tek yaptığı form işlemlerini kolaylaştırmak gibi duruyor:

QT ile daha hızlı geliştirilebilir. Örenk olması açısından Webviev tabanlı basit bir uygulama hazırladım.

from PyQt5 import QtCore, QtGui, QtWidgets
from PyQt5.QtWebEngineWidgets import QWebEngineView

class Ui_Form(object):

    def destroyWindow(self):
        sys.exit(0)

    def setupUi(self, Form):
        Form.setObjectName("Form")
        Form.resize(320, 480)

        self.pushButton = QtWidgets.QPushButton(Form)
        self.pushButton.setGeometry(QtCore.QRect(0, 0, 360, 25))
        self.pushButton.setObjectName("pushButton")
        self.pushButton.clicked.connect(self.destroyWindow)

        self.webwiev = QWebEngineView(Form)
        self.webwiev.setObjectName("webwiev")
        self.webwiev.setUrl(QtCore.QUrl("https://forum.yazbel.com"))
        self.webwiev.setGeometry(QtCore.QRect(0, 25, 360, 455))

        flags = QtCore.Qt.WindowFlags(QtCore.Qt.FramelessWindowHint | QtCore.Qt.WindowStaysOnTopHint)
        Form.setWindowFlags(flags)
        Form.setFixedSize(320,480)
        self.retranslateUi(Form)
        QtCore.QMetaObject.connectSlotsByName(Form)

    def retranslateUi(self, Form):
        _translate = QtCore.QCoreApplication.translate
        Form.setWindowTitle(_translate("Form", "Form"))
        self.pushButton.setText(_translate("Form", "Kapat"))

if __name__ == "__main__":
    import sys
    app = QtWidgets.QApplication(sys.argv)
    Form = QtWidgets.QWidget()
    ui = Ui_Form()
    ui.setupUi(Form)
    Form.show()
    sys.exit(app.exec_())

Bu şekil bir pencere oluşturuyor.

4 Beğeni

Tam aradığım pencere.Yardımınız için teşekkür ederim.