본문 바로가기

스터디/python

(7)
[selenium] 파이썬 게임 매크로 제작 [환경 세팅] 1. selenium 설치 2. 웹 브라우저를 제어하기 위해 웹 드라이버 설치 크롬 드라이버를 설치하기 위해 크롬 정보를 확인한다. 다운로드 링크(ChromeDriver - WebDriver for Chrome - Downloads (chromium.org))에 접속해서 앞서 확인한 버전에 맞는 크롬 드라이버를 다운받는다. 드라이버를 실행하면 아래와 같은 문구가 cmd 창에 뜬다. (이건 이렇게 쓰는게 아님..코드 상에서 실행할때 사용하는 실행파일입니다.) [연습] 1. selenium을 이용한 검색 다음과 같이 코드를 짠 후 실행하면, 크롬으로 윈도우 창이 하나 열리면서 코드 상에 입력해준 goole.com 페이지에 접속한다. 이번엔 날씨를 검색하는 코드이다.(name을 이용하든, cla..
네이버 웹툰 날짜별 만화들 파싱해서 리스트 띄우기 작성한 코드[웹사이트의 서버에 페이지 요청 -> 해당 프로그램의 작업 정보, 만화 및 작가 정보 저장]서버에 해당 페이지의 소스코드를 요청하기 위해 requests모듈을, 파싱작업을 위해 beautifulsoup4모듈을 import해준다.url에는 날짜별 만화들 정보를 얻고 싶은 웹툰의 주소를 저장해준다. res에는 requests모듈의 get함수를 이용해 서버로부터 받은 페이지의 소스코드의 text를 저장하는데, 페이지 요청 시 이용자의 정보를 요구하는 서버의 기준을 충족하기 위해 headers에 미리 저장해둔 사용자 정보를 함께 보내준다.soup에는 BeautifulSoup으로 파싱작업해준 데이터를 저장해둔다.t에는 h2태그 내에 있는 정보들을 저장했는데, 웹툰 제목과 작가 이름이 저장되었다. t에는..
파이썬으로 파일 보내는 시스템 만들기 클라이언트가 서버에게 txt파일을 보내고, 서버가 성공적으로 수신했다는 메세지를 전송하는 프로그램을 만들 것이다.파일 보내는 시스템을 만들기 위해 파일에 대한 개념을 짚고 가자. 컴퓨터는 0, 1만 인식할 수 있기 때문에 데이터파일은 모두 이진 파일이고, 따라서 열고 복사할 때 우리가 일반적으로 사용하는 방식 외에 이진모드를 사용할 수 있다.파일을 열고 닫을 때 기본함수인 open()과 write(), read(), close()를 사용하는데, 이때 파일 모드에서 이진읽기모드인 rb와 이진쓰기모드인 wb를 사용할 것이다. rb 모드로 연 데이터는 디코딩 되지 않은 바이트배열이고, wb 모드로 작성하는 데이터는 그대로 사용된다. 서버 코드 클라이언트 코드 실행화면클라이언트가 보내기 희망하는 txt파일 작성..
파이썬으로 gui 계산기 만들기(비트연산, 진법 변환 및 연산시스템 추가) [계산기 형식 만들기](코드 초반부) Tkinter Entry위젯의 너비와 색상을 설정해주고, grid로 gui 창 내의 화면 위치를 정해준다. 버튼에 기입할 텍스트들은 buttonText 리스트에 순서대로 나열해준다. (코드 후반부) 리스트로 담아주었던 버튼을 화면에 구현해준다. colIndex를 활용하여 한 줄에 버튼이 6개씩 위치하도록 한다. 버튼에는 각 버튼의 텍스트를 넣어주고, 차후에 텍스트를 기준으로 함수를 구현해준다. (코드대로 구현된 계산기) [계산기에서 선택하는 옵션에 따라 달라지는 함수 구현]1. 비트 연산과 기본 계산 구별 [코드 초반 설정, 기본 계산 구현] '='을 눌러 계산을 실행할 때 비트연산과 사칙연산 중 실행해야 하는 것을 알려주기 위해 전역변수 distin을 사용한다. '..
파이썬 플라스크로 로그인 회원가입 웹 시스템 만들기 html페이지에서 회원가입하면, 아이디 비밀번호를 mysql 데이터베이스에 저장하여 로그인이 가능하도록 웹시스템을 만드는 것이다.
네이버 실시간 검색어 크롤러 만들기 [모듈 import] 웹에서 HTML코드를 가져오기 위해 requests모듈을, 이를 파싱해주기 위해 bs4모듈의 BeautifulSoup을 import해준다. [웹페이지 코드 전체 가져오기] requests모듈의 get함수로 크롤링할 웹페이지의 소스를 가져온다. 이때 소스를 가져오는 코드만으로는 실행이 되지 않기 때문에, 접속 주체의 정보를 갖고있는 headers에 나의 유저정보를 넣어주는 코드를 넣어줘야 한다. res에 url에서 불러온 코드들을 저장할 때 headers 정보를 같이 넣어준다. [필요한 데이터 추출] BeautifulSoup의 html.parser을 사용하여 res에 저장한 웹문서를 파싱해 soup객체에 저장한다. 의미 있는 토큰으로 분해되어 파스 트리구조로 형성된 soup에서 Bea..
python 소켓 프로그래밍으로 1:1 채팅 구현 1. 서버 코드[필요한 모듈 불러오기] 1:1 채팅 시 소켓을 거쳐서 메세지를 송수신 해야 하므로, socket 모듈을 import 해준다.기본적으로 코드는 순차적으로 진행되기 때문에, 메세지 전송과 수신을 사용자들의 필요에 맞게 이행하는 것이 불가능하다. 따라서 코드를 병렬로 실행하여 메세지 송수신을 동시 실행을 가능하게 해주는 threads 생성을 위해 threading 모듈을 import한다.이 프로그램 상에서 송수신을 위해 생성되는 2개의 threads를 프로그램 종료시까지 계속해서 송수신 해주기 위해, 프로세스가 종료되지 않도록 해주게 된다. 이때 코드를 무한반복하게되는 컴퓨터의 부담을 덜어주는 쉬는 시간을 설정하기 위해, 코드를 종료해주기 위한 exit()사용하기 위해, time모듈과 sys모..