목록Programming/Python (7)
코학다식
다음 두 가지를 이용해서 네이버 웹툰 메인 페이지의 모든 웹툰의 제목과 링크를 가져오는 파이썬 코드를 작성한다. requests 모듈 BeautifulSoup 크롤링을 위한 개발 환경을 설정해 주자. 프로젝트 폴더를 생성하고 가상 환경을 만들도록 한다. pyenv와 pyenv-virtualenv를 사용한 파이썬 개발 환경 구성하기 참조 개별 환경 구성이 끝나면 requests와 BeautifulSoup를 사용할 수 있도록 설치해 준다. 프로젝트 폴더에서 가상환경이 적용된 것을 확인한 후 다음 명령을 입력한다. pip install requests pip install pip intall beautifulsoup4 pycharm에서도 파이썬 파일을 만들어서 크롤링을 할 수 있지만 그때그때 진행 상황을 확인..
OS(macOS, Ubuntu)별 설정법 참조 왜 필요한가? 여러 프로젝트를 동시에 진행하면 다양한 버전을 사용하게 되기 때문에 파이썬 버전을 분리해서 사용해야 한다. 이때 pyenv라는 파이썬 버전 관리 시스템을 사용한다. pyenv-virtualenv는 pyenv와 밀접하게 사용할 수 있는 패키지이다. 가상환경은 프로젝트 각각에 설치된 패키지들 사이의 충돌을 막아 주기 위해 필요하다. 명령어를 입력하고 명령 수행이 완료된 것처럼 보여도 실제로는 적용되지 않는 경우가 있다. 꼭 확인해 보도록 하자. 설정 순서 pyenv, pyenv-virtaulenv 설치 설치 후 pyenv 설정을 shell 설정 파일에 추가 정상적으로 pyenv, pyenv-virtualenv가 동작할 수 있기 위해 필요한 과정이다..
자료 구조와 알고리즘(2) 이 포스팅은 Python Cookbook의 내용을 요약하여 작성되었습니다. 지적, 질문은 언제나 환영합니다. 1.6 딕셔너리의 키를 여러 값에 매핑하기 하나의 키에 하나의 값이 매핑된 것을 딕셔너리라 부른다. 키에 여러 값을 매핑하려면, 그 여러 값을 리스트나 세트와 같은 컨테이너에 저장해 두어야 한다. d = { 'a': [1, 2, 3], 'b': [4, 5] } e = { 'a': {1, 2, 3}, 'b': {4, 5} } 이러한 딕셔너리를 쉽게 만들기 위해서 collections 모듈의 defaultdict을 사용한다. defaultdict에는 첫 번째 값을 자동으로 초기화하는 기능이 있다. from collections import defaultdict d = def..
파이썬 정규 표현식 알아보기 (2) 이 포스팅은 이 문서를 참조하여 작성되었습니다. 이 포스팅은 정규 표현식 알아보기(1)에서 이어집니다. match 객체의 메서드 match 객체의 메서드들은 다음과 같다. method 목적 group() 매치된 문자열을 돌려준다. start() 매치된 문자열의 시작 위치를 돌려준다. end() 매치된 문자열의 끝 위치를 돌려준다. span() 매치된 문자열의 (시작, 끝)에 해당하는 튜플을 돌려준다. 예시 코드를 보자. >>> p = re.compile('[a-z]+') >>> m = p.match("python") >>> m.group() 'python' >>> m.start() 0 >>> m.end() 6 >>> m.span() (0, 6) >>> 예시 코드의 결과..
파이썬 정규 표현식 알아보기 (1) 이 포스팅은 이 문서를 참조하여 작성되었습니다. 이 포스팅은 정규 표현식 알아보기(2)로 이어집니다. 정규 표현식이란? 정규 표현식(regular expression)이란 특정한 규칙을 가진 문자열의 집합을 표현하는 데 사용하는 형식 언어이다. 정규 표현식의 기초는 메타 문자! 메타 문자(meta characters)는 원래 그 문자가 가진 뜻이 아닌 특별한 용도로 사용하는 문자를 말한다. 정규 표현식에 사용되는 메타 문자로는 . ^ & * + ? { } [ ] \ / ( ) _가 있다. 1. 문자 클래스 [ ] [ ] 사이에는 어떤 문자든 들어갈 수 있다. [abc]라면 "a, b, c 중 한 개의 문자와 매치"를 의미한다. [ ]의 두 문자 사이에 하이픈(-)을 사..
자료 구조와 알고리즘(1) 이 포스팅은 Python Cookbook의 내용을 요약하여 작성되었습니다. 지적, 질문은 언제나 환영합니다. 1.1 시퀀스를 개별 변수로 나누기 모든 시퀀스(혹은 이터레이팅 가능한 것)는 할당문을 통해서 개별 변수로 나눌 수 있다. 단, 변수의 개수가 시퀀스에 일치해야 한다. 그렇지 않으면 에러가 발생한다. 시퀀스를 개별 변수로 나누는 것을 언패킹(unpacking)이라고 하는데, 이는 순환 가능한 모든 객체(튜플, 리스트, 문자열, 파일, iterator, generator 등)에 적용할 수 있다. 다만 특정 값을 제외하는 방법은 따로 없다. 만약 어떤 값은 버리고 싶다면, 그 값에 해당하는 변수 이름을 버리는 것으로 이해할 수 있도록 붙여 주는 수밖에 없다. 책에서는 _(언..
파이썬에 너무 소홀했던 것 같아 본격적으로 공부를 시작하기 전에, 전에 읽었던 모두의 파이썬에 나온 아주 아주 간단한 메모장을 만들어 보았다. 영타 속도가 빠르다면 1분 안에 끝날 것 같다. 너무 쉬워서 포스팅을 올리기에 민망할 정도지만, 그래도 일단 했으니까 기록으로 남겨 본다. 모두의 파이썬 :: 06-4 간단한 메모장 만들기 (https://wikidocs.net/36) 1. 필요한 기능: 메모 추가하기, 메모 조회하기 2. 입력받는 값: 메모 내용(memo), 프로그램 실행 옵션(option) 3. 출력하는 값: memo.txt 라는 명령을 실행했을 때 프로그램 실행 옵션대로 메모가 추가되거나 조회되도록 해야 한다. 먼저, 필요한 모듈을 import 한다. 1 2 3 4 import sys opt..