반응형

전체 글 427

[Python] 20. 파이썬 Web Scraping - 웹 스크레이퍼, requests모듈, BeautifulSoup4 모듈, lxml 모듈, Tag 객체, CSS셀렉터

1. 스크래이퍼(Scraper)란?1) 웹 스크레이퍼- 도메인 이름을 받고 HTML 데이터를 가져옴 - 데이터를 파싱해 원하는 정보를 얻음 - 원하는 정보를 저장함 - 필요하다면 다른 페이지에서도 이 작업을 반복함 2) 필요한 모듈들- requests- BeautifulSoup4- lxml  2. 웹 스크래이퍼 작성1) 웹 사이트에 연결 및 요청 : HTML 결과를 얻어옴- requests 모듈 사용 ( pip install requests ) > http://docs.python-requests.org/en/master/  2) 원하는 컨텐츠를 뽑아낸다.- res.headers - res.encoding - res.text - res.json()  3) 컨텐츠를 저장한다.  3. BeautifulSou..

[Python] 19. 파이썬 오픈 API와 JSON - requests 모듈, urllib 모듈

1. 오픈 API 1) API (Application Programming Interface) - 여러 애플리케이션 사이에서 간편한 인터페이스  2) 오픈 API – 주로 웹 API 또는 API라고 함 - HTTP를 통해 데이터를 요청하며 주로 XML이나 JSON 형식으로 응답 - 최근에는 JSON 방식의 응답을 하는 API가 빠르게 늘어나고 있음 - 유용한 형식으로 정리된 데이터를 제공 받을 수 있음 3) API 동작 방식 - 브라우저에서 API 요청 > http://api.github.com/users/soongon > 응답은 JSON 형태로 반환   2. JSON 포맷 1) 데이터 교환의 표준 포맷 - JSON  3. JSON 요청 및 처리1) requests 모듈 - HTTP 요청 클라이언트 모..

[Python] 18. 파이썬 CSV 파일 다루기 - XML, HTML, JSON, YAML, 엑셀파일과의 차이점

1. 구조화된 텍스트 파일 1) 프로그램에서 데이터를 저장할 때나, 다른 프로그램으로 보낼 때 사용- 탭(‘\t’), 콤마(‘,’), 수직 바(‘ | ‘)와 같은 문자를 구분자(separate, delimeter)로 사용 - 태그를 ‘ ‘ 로 둘러싼다. – XML 과 HTML 이 있다. - 구두점을 사용한다. – JSON - 들여쓰기를 사용한다. – YAML (YAML Ain’t ML)- 기타 프로그램 설정 파일 같은 형식이 있다.  2. CSV 파일1) 구분된 (delimited file)은 스프레드 시트나 데이터베이스의 데이터 교환 형식- CSV (Comma Separated Value) - 콤마로 구분된 데이터를 라인단위로 읽어 리스트나 딕셔너리 같은 자료구조에 넣는다. - 파일의 운영체제에 따른..

[Python] 17. 파이썬 엑셀파일 다루기 - openpyxl 모듈, cell함수, formulas, merge_cell

1. 엑셀 문서 구조 1) 엑셀 문서, Excel Documents 2. 엑셀 지원 모듈 1) 엑셀 지원 파이썬 모듈 - xlwt - OpenPyXL http://openpyxl.readthedocs.org/- XlsxWriter - PyExcelerate 2) openpyxl 모듈 - 로컬에 엑셀 프로그램이 설치되어 있지 않아도 엑셀파일 생성과 읽기가 가능 - 대용량 지원, 이미지 지원 등 - pip install openpyxl> openpyxl과 관련 모듈이 설치  3. 엑셀 파일 읽기 1) 엑셀 문서(워크북) 열기 2) 워크시트 접근- 워크시트 목록 리스트로 반환- 액티브 워크시트 반환 3) 셀에 접근 4) cell() 함수 : 키워드 파라미터 사용 - 마지막 셀 (로우) : sheet.max_r..

[Python] 16. 파이썬 객체와 클래스 - 클래스 문법, init 메소드, 클래스 상속, Override

1. 클래스1) 객체지향 프로그래밍 - Object Oriented Programming - Programming paradigm - 데이터를 포함한 데이터구조 (field, attribute)와 함수(function, procedure, 메서드라고 부름)로 구성 - 객체 내부에 포함된 데이터를 메서드를 통해 수정 가능 (this 또는 self 키워드 사용) - 프로그램은 모두 객체로 분해되어 설계되고, 객체 간 서로 상호작용을 통해 수행됨  2) 클래스 선언 3) 클래스 문법 - class 키워드로 시작됨 - class 키워드 다음에 클래스 이름이 위치 - 클래스 이름 뒤에 괄호 속에 상속된 클래스 이름이 위치 - 파이썬의 object 클래스의 기능과 속성을 모두 상속받는다.- 사용자가 작성한 클래스(..

[Python] 15. 파이썬 예외처리와 로깅 - 예외종류, raise, logging 모듈, 팩토리얼 코드 로깅

1. 예외 처리1) 프로그램의 비정상적인 종료를 막는 방법- 에러가 발생할 가능성이 있는 코드를 사전에 처리해 주는 방법 (예) 파일을 다룰 때 파일이 없거나 쓰기금지로 설정된 경우 > 데이터베이스 연결 시 DB쪽 이슈 > 네트워크 관련 코드에서 네트워크 이슈 2) try, except를 이용한 에러로부터의 복구 2. 예외 종류1) 파이썬은 60여 개의 이상의 예외가 있음  3. 예외 1) 사용자 정의 예외 만들기- 새로운 예외 타입을 만들기 위해서는 class 객체 타입을 정의해야 함 2) 예외 발생 : raise- 특정한 상황에서 예외를 발생시킬 수 있음  > raise BizException   4. logging 모듈 1) 로그 메시지를 디스플레이 하고자 할 때 사용 > 코드 제일 위쪽에 로깅..

[Python] 14. 파이썬 파일과 디렉터리 다루기 - pickle 모듈, shitl 모듈, send2trash 모듈, zipfile 모듈

1. 파일 - pickle 모듈 1) pickle 모듈 사용- 리스트나 클래스를 파일에 저장할 때 사용  2. 파일과 디렉터리 관리1) 파일과 디렉터리 관리에 대해서 다룸- 하드디스크에 저장된 파일과 디렉터리의 관리 작업을 자동화 - 특정 확장자를 가진 파일 또는 특정 이름 패턴을 가진 파일을 지우거나 다른 디렉터리로 옮기기 - 파일이나 디렉터리를 압축하여 별도 저장 (일종의 백업 시스템) 2) shutil (Shell Utils) 모듈- 파일이나 디렉터리를 복사, 이동, 리네임, 삭제를 수행하는 모듈  3. shtil 모듈 : copy 1) 파일과 디렉터리 복사 - shutil.copy(source, destination) 2) 파일 이동과 이름 바꾸기- shutil.move(source, destin..

[Python] 13. 파이썬 파일 다루기 - glob모듈, getcwd, chdir, dir name, base name, readline 함수

A. 파일1. 프로그램이 실행 중일 때는 데이터를 램(RAM)에 저장한다. - RAM은 휘발성  2. 데이터의 영구저장(Persistence)을 위해 파일을 사용한다. - 디스크와 같은 비휘발성(non-volatile) 장치를 사용  3. 파일의 생성과 사용에 관련된 내용을 다룸 - 디렉터리의 이동과 생성, 삭제 - 파일의 생성, 쓰기, 읽기 B. 파일 - 쓰기와 읽기 1. 파일과 파일경로- 리눅스와 맥에서는 ( / )를 사용, 윈도우에서는 ( \ ) 사용  2.윈도우의 dir과 리눅스의 ls 명령과 유사한 - glob 모듈 - glob.glob(‘*’) : 현재 디렉터리의 모든 파일을 리스트로 반환  C. 디렉터리 관리 1. 현재 작업 디렉터리 : Current Working Directory - o..

[Python] 12. 파이썬 정규 표현식(2) - re모듈 임포트, 그룹핑, findall, 플래그, VERBOSE

A. 정규식 1. search() : 첫 번째 일치하는 객체를 반환한다.  1) re 모듈 임포트 : import re 2) re.compile() 함수로 Regex 객체를 생성 (raw string 사용) 3) search() 함수의 파라미터로 검색할 문자를 전달 – Match 객체를 반환 4) group() 함수로 실제 매칭된(검색된) 문자열 리턴  2. 그룹핑 : 괄호를 사용하여 정규식(regex)에 그룹을 생성할 수 있다. - (\d\d\d)-(\d\d\d-\d\d\d\d) : group() 함수 사용 - () 문자 자체를 사용하려면 \(, \)를 사용  3. findall() : 모두 일치하는 문자열을 리스트로 반환- search() 는 매칭되는 첫 번째 패턴을 반환, findall() 모든 패..

[Python] 11. 파이썬 정규 표현식(1) - 정규식 문법, 전화번호 패턴, 이메일 패턴, 텍스트 패턴 검색

A. 정규식 : Regular Expression1. 텍스트를 검색할 때 Ctrl+F 로 찾는 것을 조금 더 발전시킨 형태- 글자 자체를 가지고 찾는 게 아니라 패턴이라는 것을 사용함 - 오피스 프로그램은 찾기(바꾸기) 기능에서 정규식을 지원함 2. 정규식 사용 사례- 입력 유효성 체크(Form Validation) : 이메일 주소가 맞는지 아닌지- 텍스트에서 특정 부분을 추출 : 우편번호 추출- 특정 텍스트 바꾸기 : 계란 -> 달걀- 큰 텍스트를 작게 쪼개기 : 콤마나 점으로 구분해서 문장 쪼개기 3. 정규식 문법 배우기- / ... / 속에 패턴을 표기 4. 패턴으로 찾기 데모 : 다음 세 개의 패턴으로 정규식을 배우자- 010-3456-0123 : 전화번호 패턴 나타내기- soongon@gmal...

[Python] 10. 파이썬 문자열 다루기 - len, split, join, in, uppser, isupper, isX, startwith, 포매팅

A. 문자열 관련 함수 1. 문자열 길이 : len() 2. 문자열 나누기 : split()- split 함수를 통한 문자열 분리 : 특정 문자를 중심으로 문자를 분리하는 함수 3. 문자열로 결합 : join() 4. in, not in 연산자 5. upper(), lower(), isupper(), islower() 함수 6. isX 문자열 함수- isalpha() : 문자로만 구성 시 True - isalnum() : 문자와 숫자로만 구성 시 True - isdecimal() : 숫자로만 구성 시 True - isspace() : 공백으로만 구성 시 True - istitle() : 문장 내 모든 단어가 대문자로 시작되면 True - 입력 유효성 체크로 사용   7. startswith(), ends..

[Python] 9. 파이썬 모듈과 pip - 코어모듈, 써드파티 모듈, pypi, pip 설치, 패키지, 데모, 내장 함수

A. 모 듈 1. 프로그램이 복잡해질수록 한 파일로 프로그램을 유지하기가 힘들어짐  2. 파이썬 모듈로 분리해서 프로그램 좀 더 구조화할 수 있음 - 파이썬 파일로 별도로 분리 - import 문을 통해 모듈 사용 3. 모듈을 import 하는 세 가지 방법- import os - from os import listdir - import os as winos 4. 모듈 만들기  5. 코어모듈 : 파이썬 설치 시 제공되는 내장 모듈 >>> import sys >>> sys.path 를 통해 모듈이 설치된 경로를 확인할 수 있음   6. 써드파티 모듈 : 외부 모듈로써 별도로 설치가 필요함 - 파이썬 커뮤니티에 의해 지금도 계속 개발되고 배포되고 있음   7. 써드파티 모듈 설치 관리자 : pypi- 파이썬..

[Python] 8. 파이썬 함수 - define, call, return, main, 함수 파라미터, 가변 파라미터

1. 함수1) 함수는 왜 사용하는가? - 프로그램 읽고 이해하기 - 코드의 재사용 - 생산성과 품질 향상 2) 함수의 두 가지 작업- 정의하기 : define - 호출하기 : call  3) 함수의 정의- 함수 선언은 def로 시작 - 함수의 시작과 끝은 들여쓰기(indentation)로 구분 - 시작과 끝을 명시하지 않음 - 함수 이름 뒤에 오는 ( ) 안에 함수로 전달하는 인자(파라미터)를 적음  4) Parameter 와 Return  5) 함수 - 함수 만들기 연습① cube라는 이름의 함수를 만들어서 number라는 파라미터를 받는다. ② 파라미터로 받은 숫자를 세제곱 하는 코드를 만든다. (자기 숫자를 세 번 곱한다.) ③ by_three라는 두 번째 함수를 만들고 number라는 파라미터를..

[Python] 7. 파이썬 코드구조(2) - while, zip, range, setdefault

1. 루프문 - while- while 문 – if 문 구조와 비슷함  - while 문과 if 문을 같이 사용하는 예제 – 1부터 10까지 홀수만 출력  - break와 continue 2. 여러 시퀀스 순회하기 : zip()1) zip() 함수를 사용하여 여러 시퀀스 병렬로 순회하기- 여러 시퀀스 중 가장 짧은 시퀀스가 완료되면 zip()은 멈춘다.   3. 숫자 시퀀스 생성하기 : range()1) 리스트나 튜플을 사용하여 저장하지 않더라도 특정 범위의 숫자 시퀀스를 생성한다.- 컴퓨터 메모리를 전부 사용하지 않고 아주 큰 범위를 생성할 수 있게 해 줌- range(start, stop, step)  2) zip(), range() 와 같은 함수는 순회 가능한 (iterable) 객체를 반환한다. ..

[Python] 6. 파이썬 코드구조(1) - 흐름제어, bool타입, 비교 연산자, 논리 연산자, if조건문, 제어문, for문

1. 코드구조 1) 흐름 제어 : Flow Control- 구조적 프로그래밍 : 순차구조, 선택구조, 반복구조로 이루어짐  2) bool 타입- True : 참 - False : 거짓   2. 비교 연산자 – Comparison Operators  3. 논리 연산자와 비교 연산자 1) 논리 연산자- 결과는 True와 False - and 와 or - not  4. flow - if1) if – 조건문 ( Conditional )- if는 조건문으로 if 문에 따라오는 문장이 True 이면 특정한 문장이 수행된다.- 점수가 90점 이상이면 A학점을 받는다. 조건문에는 if 라는 키워드를 사용한다.if 다음에는 ‘조건'이 존재하는데 이 ‘조건‘ 이 참 (True)이면 들여쓰기 한 문장이 실행된다.if 문장 ..

반응형