Appia의 IT세상

Python[파이썬] PyQt5, requests를 이용한 GUI기반의 웹사이트 확인기 본문

Python/Python 응용

Python[파이썬] PyQt5, requests를 이용한 GUI기반의 웹사이트 확인기

Appia 2020. 7. 16. 07:33
반응형

Python[파이썬] PyQt5, requests를 이용한 웹사이트 정상 확인기

 

이번 포스팅은 웹 사이트가 정상적으로 접속이 가능한지에 대해서 확인하는 GUI프로그래밍을 해보도록 하겠습니다. 이전 포스팅에서는 웹사이트 정상적인지 확인하는 방법에 대해서 콘솔안에서만 확인을 했습니다. 이번에는 GUI기반으로 확인해보도록 하겠습니다. 기본적으로 PyQt5, requests를 이용해보도록 하겠습니다. 

 

import sys
 
import requests as rq
 
from PyQt5.QtWidgets import QApplication, QWidget, QTextEdit,QPushButton, QLineEdit
 
class QtGUI(QWidget):
 
    def __init__(self):
 
        super().__init__()
 
        self.setWindowTitle("Appia Qt GUI")
 
        self.resize(300300)
 
        self.labelobj1 = QTextEdit(self)
 
        self.labelobj1.move(20,20)
 
        self.lineedit1 = QLineEdit(self)
 
        self.lineedit1.move(20,270)
 
        self.button = QPushButton("Check",self)
 
        self.button.move(200,270)
 
        self.button.released.connect(self.print_label)
 
        self.show()
 
 
 
    def print_label(self):
 
        self.labelobj1.setText(self.check_site(self.lineedit1.text()))
 
 
    def check_site(self, url):
 
        fresult=rq.get( 'http://' +url)
 
        if fresult.status_code == 200:
 
            return "Correct Site : "+ url
 
        elif fresult.status_code == 404 :
 
            return  "problem Site: "+ url
 
 
 
if __name__ == '__main__':
 
    app = QApplication(sys.argv)
 
    ex = QtGUI()
 
    app.exec_()
cs

먼저 위의 결과를 바탕으로 실행해보면 다음과 같은 GUI가 나타납니다. 

밑에 칸에 사이트 주소를 누르시고, Check 버튼을 누르시면 사이트에 접속이 되는지에 대해서 확인이 가능합니다. 이벤트에 대해서만 한번 확인해보겠습니다. 

 

class QtGUI(QWidget):
 
    def __init__(self):
    
        ....
 
        self.button.released.connect(self.print_label)
 
        self.show()
 
 
 
    def print_label(self):
 
        self.labelobj1.setText(self.check_site(self.lineedit1.text()))
 
 
    def check_site(self, url):
 
        fresult=rq.get( 'http://' +url)
 
        if fresult.status_code == 200:
 
            return "Correct Site : "+ url
 
        elif fresult.status_code == 404 :
 
            return  "problem Site: "+ url
cs

일단 버튼을 클릭하고 났었을 때, 다음과 같은 형태로 이벤트가 동작하게 됩니다. 

 

버튼 클릭 - Print_label - check_site 이 형태로 이벤트가 호출이 됩니다. 앞서 포스팅에서 봤었던 내용을 토대로 진행했는데 앞선 포스팅한 내용을 활용해봤습니다. 정상적인 사이트를 입력하면 다음과 같은 형태로 QTextEdit에 명시됩니다. 

정상사이트 확인 

그럼 혹시 이상한 사이트를 입력하고 나서, Check 버튼을 클릭하면 또 다음과 같은 결과가 나옵니다. 

비정상 사이트 접속 확인 

오늘은 Python[파이썬] PyQt5, requests를 이용한 GUI기반의 웹사이트 확인기라는 주제로 포스팅을 해봤습니다. 더불어 다음 포스팅 내용을 함꼐 보면 도움이 될 것입니다. 

Python[파이썬 웹크롤러] 01-WebCrawler 웹사이트 접속 확인하기

혹시 궁금하신점이나 문의 사항이 있으시면 언제든지 댓글 및 방명록에 글 남겨주시길 바랍니다. 감사합니다.

반응형
Comments