목록프로그래밍/Python (17)
Step by Security Study

동행복권 사이트에서 해당 회차의 당첨번호 가져오기 https://dhlottery.co.kr/gameResult.do?method=byWin&wiselog=C_A_1_1 로또6/45 - 회차별 당첨번호 1057회 당첨결과 (2023년 03월 04일 추첨) 당첨번호 8 13 19 27 40 45 1057회 순위별 등위별 총 당첨금액, 당첨게임 수, 1게임당 당첨금액, 당첨기준, 비고 안내 순위 등위별 총 당첨금액 당첨게임 수 1게임 dhlottery.co.kr 1. requests 모듈을 사용하여 서버한테 해당 페이지(html) 을 요청하고, 가져온 html에서 bs4 모듈을 사용하여 원하는 값에 접근할 수 있도록 한다. # 모듈 선언 import requests from bs4 import Beautif..

requests 모듈의 한계 1. 로그인이 필요한 사이트의 경우 크롤링이 어렵다. (가능은 하지만 세션 처리 부분이 어려움) 2. 동적으로 HTML을 만드는 경우 - 스크롤 하거나 클릭하면 데이터가 생성됨 → URL 주소가 변경되지 않았는데 데이터가 변함 - 표, 테이블 형태의 데이터 웹 애플리케이션 테스트를 위한 도구로 브라우저를 실제로 띄어서 사람처럼 동작하도록 만들 수 있다. 파이썬에서 http를 요청했을 경우 봇(Bot)이라고 판단될 경우 접속이 차단되는 경우가 있다. 이런 경우를 우회하기 위해 실제 웹 브라우저를 띄운 후에 http 요청을 보내는 것이다. 즉, 봇이 아닌 사람인척을 하는 것이다. 셀레니움 설치 selenium 모듈 설치 Chrome Driver 파일 다운로드 브라우저를 제어하기 ..

크롤링 Crawling 크롤링은 웹사이트에서 원하는 정보를 수집하는 것을 말한다. 파이썬에서 크롤링을 하기 위해서는 몇 가지 모듈을 설치해야 한다. 크롤링에 필요한 모듈 1. requests 모듈 HTTP 통신을 위한 파이썬 라이브러리(프로그램 개발을 쉽게 하기 위한 도구)로, 서버에 HTTP 요청 또는 응답을 받을 수 있게 해주는 모듈이다. 실제 웹 브라우저의 경우에는 랜더링을 거쳐 네이버 홈페이지를 보여준다. 파이썬은 단순히 언어이기 때문에 랜더링을 하지 않고 HTML 소스만 가져오게 된다. # request 모듈 설치 pip install requests import requests # http 요청을 보내기 위해 requests 모듈을 불러온다. res = resquests.get('http://..

모듈 개념 하나의 기능 또는 특정 기능을 할 수 있도록 모아 놓은 코드를 말한다. (어떤 기능의 집합체) 함수나 변수를 모아놓은 파일을 모듈이라고 하며 이 모듈을 여러 개로 묶어 놓은 것을 패키지라고 한다. 모듈 설치 PyCharm 하단 Terminal에서 진행한다. pip는 파이썬으로 작성된 패키지 모듈(소프트웨어)를 설치 및 관리하는 시스템이다. 모듈 불러오는 방식 import란 실제로 다른 프로그램에 저장되어 있지만 외부 프로그램이 사용할 수 있도록 한 함수로, 내 컴퓨터에서 외부의 데이터를 갖고 오는 것을 말한다. (가져오다.) 함수를 사용할 때 모듈명을 쓰냐 안 쓰냐의 차이. get 함수 같은 경우에는 흔한 함수이다 보니까 모듈명과 같이 사용하는 게 좋다. 1. impurt [모듈명] 이 방식은..
파이썬에서의 파일 파일에 저장된 데이터를 읽거나 프로그램에서 만든 결괏값을 파일로 저장을 할 때 사용한다. # 사용 형식 변수 = open('경로', 'mode', '인코딩값') # 파일 열기 변수.write() # 파일 쓰기 변수.close() # 파일 닫기 open ( ) 함수 파일을 생성하거나 열 때 사용한다. 인자값 1. 파일 경로 또는 파일명 2. 파일 모드 file mode 설명 r (read) 읽기 모드 (읽기 전용) a (add) 추가 w (write) 쓰기 (파일이 없으면 생성하고 존재하면 덮어씐다.) 3. 인코딩 방식 지정 - utf-8 : 전세계 언어 지원 - euc-k : 한국어 예시 f = open('새파일.txt', 'w', encoding='utf-8) data = 'Hello..

함수 개념 함수는 프로그램에서 특정 작업을 반복하여 수행해야 할 때 해당 작업을 수행하는 함수를 한 번만 작성하여, 반복적인 코드의 작성을 최소화하고 코드의 재사용성을 높여준다. 즉, 반복적으로 사용되는 코드를 모아서 이름을 붙인 것을 말한다. 함수는 만들어 놓기만 하면 되는 게 아니라 프로그램 내에서 해당 작업을 수행할 때 호출해 줘야 실행이 된다. # 함수의 기본 구조 def 함수명(매개변수) 실행할 명령 매개변수 Parmeter와 인수 Argument 매개변수는 함수 호출 시 입력된 값을 전달 받은 변수를 의미한다. 인수는 함수를 호출할 때 함수에 전달되는 입력값을 의미한다. def add(a, b): # a, b는 매개변수 return a+b print(add(3,4)) # 3, 4는 인수 함수 ..
for문 지정한 횟수 만큼 반복하여 수행하는 것을 말한다. # 사용 형식 for 변수명 in 리스트(문자열 또는 튜플): 실행될 소스 number = [1, 2, 3, 4, 5] for i in numbers: # numbers에 있는 값을 i (변수) 가 하나씩 가져간다. print(i) >>> 1 2 3 4 5 range ( ) 함수 range ( ) 함수는 숫자의 범위를 지정하는 함수이다. 이 함수를 이용하면 특정 횟수 만큼 반복하는 for문을 만드는데 유용하다. # 사용 형식 range(시작 값, 끝날 값 + 1) 예시 # 1 ~ 10 까지의 합계를 구하라. total = 0 for i in range(1, 11) total = total + i print(total) >>> 1 3 6 10 15..
while문 조건이 참인 경우에 반복하여 명령을 실행하는 것을 말한다. # 사용 형식 while 조건: 실행될 소스 실행될 소스 continue와 break while 문은 조건이 참인 경우 계속 반복되기 때문에 무한 루프를 조심해야 한다. 무한 루프는 주로 조건이 명확하지 않는 경우 발생하지만 개발자가 의도 (프로그램이 계속 실행되어야 하는 경우)에 따라 무한루프를 만드는 경우도 있다. continue : 뒤에 있는 소스는 더 이상 진행하지 않고 처음으로 돌아간다. break : 반복문 탈출 (while문 탈출) count = 0 while True: # 조건은 참 count = count + 1 if count == 5: # 만약에 count 의 값이 5인 경우, continue 진행 continue..
조건문은 주어진 조건이 참인지 거짓인지 판단하여 동작하는 문장을 말한다. if문의 경우 조건이 참인 경우에만 실행이 된다. # 사용 형식 if 조건: 실행될 소스 실행될 소스 주의 사항 1. 조건 뒤에 반드시 콜론 ( : )을 붙여야 한다. 2. if문에 속하는 실행 소스는 반드시 들여쓰기 (indentation) 해주어야 한다. (TAB : 탭) 조건문 형태 if : 만약에 elif : 다른 조건 else : 위 조건이 다 부합하지 않는 경우 비교 연산자 if문 조건에 비교 연산자 and 또는 or 조건을 사용하여 원하는 조건을 만들 수 있다. 비교 연산자 설명 a > b a 가 b 보다 크다 a >= b a 가 b 보다 크거나 같다 a < b a 가 b 보다 작다 a a: # 만약 c가 a보다 클 경..
집합 (set) 파이썬에서 집합은 수학에서의 집합과 같은 의미이다. # 사용 형식 변수명 = set([값1, 값2, 값3, ....]) s1 = set([1, 2, 3, 4, 5]) s2 = set([3, 4, 5, 6, 7]) print(s1&s2) # 교집합 >>3, 4 print(s1|s2) # 합집합 >>1, 2, 3, 4, 5, 6, 7 print(s1-s2) # 차집합 >>1, 2 불 (bool) 참 또는 거짓을 나타내는 자료 형태를 말한다. 0을 제외한 모든 수는 참 또는 거짓을 인식한다. a = True b = False