본문 바로가기
728x90

ETC/Python27

Window 10 PyQt5 설치 및 사용하는 방법 PyQt란, Qt의 레이아웃에 Python의 코드를 연결하여 GUI 프로그램을 만들 수 있게 해주는 프레임워크를 의미한다. 이번 글에서는 PyQt5 설치 방법과 간단하게 사용하는 방법을 알려주려고 한다. PyQt5를 설치하러 이 글을 방문했다면 당연히 파이썬이 설치 되었을 것이라고 생각하고, pip 부터 시작하도록 하겠다. pip install PyQt5 pip으로 PyQt5를 설치하는 것은 생각보다 매우 느려서 직접 다운로드를 받을 수 있는 주소는 다음과 같다. https://www.riverbankcomputing.com/software/pyqt/download5 https://sourceforge.net/projects/pyqt/ http://pyqt.sourceforge.net/Docs/PyQt5.. 2020. 8. 13.
Python Naver Login 보안문자(캡챠) 우회, 피하기 파이썬 캡차 우회, selenium 네이버 로그인 캡챠 이번 글에서는 Selenium을 이용하여 Naver Login을 했을 때, 뜨는 보안문자를 피하는 방법에 대해 알아보도록 하겠다. 저번 글에서 사용한 코드는 다음과 같다. from selenium import webdriver driver = webdriver.Chrome('chromedriver') driver.get("https://nid.naver.com/nidlogin.login") naver_login = driver.find_element_by_id("id") naver_login.clear() naver_login.send_keys("naver_id") naver_login = driver.find_element_by_id("pw") n.. 2020. 8. 11.
Python Selenium 설치 및 Naver Login 하기 from selenium import webdriver driver = webdriver.Chrome('chromedriver') driver.get("https://nid.naver.com/nidlogin.login") naver_login = driver.find_element_by_id("id") naver_login.clear() naver_login.send_keys("naver_id") naver_login = driver.find_element_by_id("pw") naver_login.clear() naver_login.send_keys("naver_pw") 이번 글에서는 Python Selenium을 이용하여 크롤링 하는 법을 알아보려고 한다. Selenium은 웹 브라우져를 컨트롤하여 .. 2020. 8. 10.
파이썬 엑셀 읽고 쓰기 (Python Excel Read / Write) 파이썬에서는 엑셀을 다룰 수 있는 모듈을 제공한다. 제공하는 모듈은 csv파일을 핸들링할 수 있다. 다음과 같은 과일에 대한 csv파일이 있고 우리는 이 값들을 가져와 우리의 코드에 사용하려고 한다. test.py 를 다음과 같이 작성한다. import csv with open('fruit.csv','r') as f: reader = csv.reader(f) print(reader) 결과 값은 다음과 같다. csv reader를 통해 reader에 object를 가져온 것을 확인 할 수 있다. 그렇다면 어떻게 사용할 수 있을까? 딕셔너리를 이용하면 된다. 다음과 같이 코드를 수정해보자. import csv with open('fruit.csv','r') as f: reader = csv.DictReade.. 2020. 7. 28.
파이썬 exe 파일 만들기 + 자동으로 꺼지는 현상 해결 이번 글에서는 파이썬(python)을 이용하여 exe를 만드는 법을 알아보도록 하겠다. 파이썬은 py 코드를 통해 배포하면, 사용자가 파이썬만 설치해도 쉽게 사용할 수 있다. test.py print("hello") 만약 터미널에서 python test.py 라고 치면 hello라고 뜰 것이다. 하지만 프로그래밍에 대해 1도 모르는 사용자에게 py 코드를 주고 실행시키라고 하면 할 수 있을까? 또한, 보안적인 측면에서도 소스코드를 그대로 배포하는 것보다 exe파일로 배포하는 것이 안전하다. 그래서 exe를 만들어보도록 하겠다. 터미널에 다음과 같이 친다. pip install pyinstaller 설치를 하고 나면 pyinstaller를 사용할 수 있다. 터미널에 다음과 같이 입력해보자. pyinstal.. 2020. 7. 26.
Python을 이용해서 Email 보내기 Python을 이용해서 Gmail을 보내는 프로그램을 작성하려고 한다. 우선 자동화 메일을 위해서는 IAMP를 설정해야 한다. Gmail 로그인 후 톱니바퀴를 누른뒤 모든 설정 보기를 눌러준다. 그 다음 전달 및 POP/IMAP 아래에 IMAP 액세스를 사용안함에서 사용으로 바꿔준다. 여기까지 완료하였다면 이제 프로그래밍을 진행하면 된다. import os , re from email.mime.text import MIMEText import smtplib import codecs def sendemail(gmail,gmail_pw,receive_email,text): email_msg = MIMEMultipart('SendMail') email_msg['Subject'] = "test" email_ms.. 2020. 7. 23.
Daum Login with Python requests 1(소스코드) Naver에 이은 Daum Login 분석 및 프로그래밍이다. 다음 로그인을 하고 네트워크로 분석을 해봤더니 이 POST가 핵심적 로그인을 수행하는 것 같았다.https://logins.daum.net/accounts/srp.do?slevel=1&rid=****&srplm1=****이 주소는 POST DATA를 보내는데 다음과 같은 DATA를 보낸다. id는 로그인 시 아이디 RAW한 상태이고 우리는 fuid와 rid srplm만 알면 로그인을 수행할 수 있을 것 같다.네트워크에서 fuid를 검색하였더니 https://logins.daum.net/accounts/signinform.do?url=https%3A%2F%2Fwww.daum.net%2F에서 fuid를 찾을 수 있었다. fuid는 get으로 윗 .. 2020. 7. 9.
Naver Login with Python requests 2(소스코드) 이번 글에서는 Naver Login을 완성시킬 예정이다. 저번글 보기 encpw는 16진수이기때문에 rsa.encrypt 후 hex()를 사용하여준다.완성된 encrypt function은 다음과 같다.def encrypt(naver_id, naver_pw): key_str = requests.get('https://nid.naver.com/login/ext/keys.nhn').content.decode("utf-8") sessionkey , Keyname, evalue, nvalue = key_str.split(',') evalue, nvalue = int(evalue, 16), int(nvalue, 16) pubkey = rsa.PublicKey(evalue, nvalue) message = [ses.. 2020. 7. 9.
Naver Login with Python requests 1(소스코드) selenium으로 네이버 로그인을 하는 경우가 많은데 requests를 이용하여 login을 하려고 한다. NAVER에서 로그인 후 개발자 모드 기능을 통해 확인해보면 https://nid.naver.com/nidlogin.login 에서 POST를 보내는데 ID와 PW는 빈칸이고 encpw와 bvsd가 가득차있다. encpw가 무엇인지 알기 위해 개발자모드에서 검색한결과 https://nid.naver.com/login/js/default/common200225.js?20200424에서 function encryptIdPwSplit() { var id = $("id"); var pw = $("pw"); var encpw = $("encpw"); var rsa = new RSAKey; if (keySp.. 2020. 7. 8.
728x90