일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- mongoose
- macos
- Kotlin
- python
- DATABASE
- postman
- wireshark
- Android
- mysql
- linux
- typeorm
- ubuntu
- algorithm
- docker
- Express
- OOAD
- node.js
- MongoDB
- Crawling
- HTML
- Util
- OS
- AWS
- React
- S3
- Network
- Scheduling
- TypeScript
- sequelize
- css
- Today
- Total
목록
반응형
python (36)
Seongwon Lim
서론 파이썬으로 json파일에 데이터를 저장할 때, 한글 깨짐 현상이 발생하는 경우가 있다. 특히, 쓰기 메서드인 json.dump() 메서드를 사용할 때 해당 현상이 빈번히 일어난다. 이번 글에서는 해당 오류를 해결하는 방법을 간단하게 알아보고자 한다. 예제 코드 import json data = { "name": "홍길동", "nation": "Korea", "age": 25, "hobby": ["코딩", "축구", "영화보기"] } with open("./test.json", 'w', encoding='utf-8') as f: json.dump(data, f, indent=4) 위 코드는 test.json 파일에 data 라는 변수를 저장하는 코드이다. 실제 코드를 돌려보면 결과는 다음과 같다. {..
서론 프로그래밍을 하다보면 현재 날짜 혹은 특정 날짜를 알아야 하는 경우가 존재한다. 이번 글에서는 파이썬에서 제공하는 datetime 모듈을 이용해서 현재 날짜를 구하는 방법, 그리고 현재 날짜를 기준으로 다양한 날짜를 구하는 방법을 간단하게 살펴보고자 한다. 먼저, 해당 모듈을 사용하기 위해 라이브러리를 불러온다. from datetime import datetime, timedelta 현재 날짜(시간) 구하기 now = datetime.now() # 또는 datetime.today() print(now) # 결과 : 2022-05-15 21:02:26.837966 datetime의 기본 형식을 수정하고 싶은 경우 strftime 형식을 사용하고 datetime모듈 내에 내장된 strftime()메서..
What is Counter? Counter 함수는 파이썬의 collections 모듈에서 제공하는 클래스이다. 파이썬에서 항목이나 개수를 셀 때 많이 사용되고 있다. 파이썬 딕셔너리를 이용해서 직접 데이터를 파싱하여 워드 카운팅을 진행할 수 있지만 Counter 클래스를 이용하면 간단하게 구현할 수 있기 때문에 훨씬 효율적이다. Counter example https://filesamples.com/formats/txt 해당 사이트에서 샘플 텍스트 파일을 다운받은 뒤 공백을 기준으로 단어를 파싱하여 워드 카운팅을 진행할 예정이다. (sample3.txt 파일을 사용했다) 1. 딕셔너리로 구현한 Word Counting with open('sample3.txt', 'r') as f: text = f.re..
서론 [Django] Rest framework 다루기 (1) 이번 글은 Rest framework를 이용하여 생성한 모델을 가지고 CRUD를 하는 방법을 다룰 예정이다. 따라서 모델과 필드가 이미 정의된 상태에서 진행하는 글이므로 개발 환경 준비가 되지 않은 분들은 이전 포스팅 글을 참고하면 좋을 것 같다. 이론 장고에서 API 기능의 구현은 대부분 views.py 에서 다룬다. 이전 포스팅에서 views.py 파일에 Viewset을 이용하여 테이블 데이터를 읽어오는 기능을 구현 했었다. 이번에는 Viewset을 이용하지 않고 직접 Request 유형을 파악하여 정의된 모델에 데이터를 추가, 삭제 및 수정하는 작업을 해볼 것이다. 이전 포스팅 글을 참조하여 실습을 진행했다면 localhost:8000/..
What is DRF? DRF는 Django Rest Framework의 약자로 장고 REST 프레임워크는 웹 API를 구축하기 위해 장고에서 제공하는 강력한 프레임워크이다. 해당 포스팅 글은 장고가 설치되어 있다는 가정 하에 진행되는 글이므로 장고가 미설치된 경우 pip install django명령어를 통해 장고를 먼저 설치한다. 1. 가상 환경 세팅하기 먼저 프로젝트를 수행할 디렉토리를 생성한 뒤 파이썬 가상환경을 구성한다. 가상 환경이란 하나의 PC에서 프로젝트 별로 독립된 파이썬 실행 환경을 구성하는 것이다. 가상 환경을 사용하지 않으면 PC 내의 모든 프로젝트에서 운영체제에 설치된 하나의 파이썬 런타임을 사용하고 패키지를 공유한다. 패키지의 공유는 프로젝트 간 모듈 의존성을 높이고 이는 패키지..
변수(Variable)란 무엇일까? 우리가 만드는 프로그램이란 수많은 데이터로 이루어져 있다. 그리고 그 데이터를 기반으로 컴퓨터에 명령을 주어 어떤 액션을 취하도록 하는 것이다. 그러면 데이터 는 무엇을 의미하는 것일까? 데이터는 문자나 숫자로 이루어진 것을 의미하여 파이썬에서는 문자와 숫자에도 여러 가지 자료형(type)이 존재한다. 이번 포스팅 글에서 설명하는 변수(Variable) 라는 단어의 의미는 이러한 여러 가지 자료형으로 이루어진 하나의 데이터를 저장하는 저장 공간이라고 이해하면 좋을 것 같다. 파이썬에서 변수를 만들 때 사용되는 자료형은 다음과 같은 것들이 존재한다. # 문자열, String이라고 표현한다. string_data = "hello world!" # 정수, Integer라고 ..
서론 이번 글에서는 공공데이터포털 웹사이트에서 제공하는 OpenAPI 사용 방법에 대해서 알아보고 해당 사이트에서 제공하는 여러 OpenAPI들 중에서 보건복지부 코로나19 감염 현황 데이터를 가져오는 예시를 들어보고자 한다. 공공데이터포털 국가에서 보유하고 있는 다양한 데이터를 개방하여 사용자들이 데이터를 쉽고 용이하게 활용하거나 사용할 수 있도록 수많은 데이터를 제공하고 있다. 공공데이터포털 회원가입 공공데이터포털에서 제공하는 OpenAPI를 사용하기 위해서는 해당 사이트의 계정이 필요하다. https://www.data.go.kr/uim/mss/socialMberInfoStep1FormView.do 해당 주소로 접속하여 회원가입을 진행할 수 있으며 네이버, 카카오를 이용한 로그인도 가능하므로 참고하..
서론 이번 글에서는 쿠팡 홈페이지의 상품 정보들을 크롤링하는 예제를 다뤄보고자 한다. 상품의 이름, 가격, 리뷰 수, 구매 링크 내용을 크롤링하여 엑셀 파일에 저장하는 것까지 해볼 예정이다. 쿠팡 홈페이지를 상업적인 목적으로 크롤링하는 것은 저작권 침해로 문제가 될 수 있으므로 크롤링을 공부하는 목적으로 사용하여야 한다. 크롤링 시작하기 위처럼 필자는 쿠팡 검색어에 아이폰 키워드를 입력한 뒤 이동하는 주소에서 크롤링을 할 것이다. 주소는 여기를 클릭하면 바로 이동할 수 있다. 이제 화면을 살펴보자. 검색 조건에 별다른 필터를 주지 않았을 때 이와 같은 상품 목록들이 나왔다. 한 페이지에는 4개의 상품씩 총 9줄로 구성된 것을 확인할 수 있을 것이다. 필자는 상품 정보 중에서 상품명, 가격, 리뷰 수, 구..
서론 이전 포스팅 글에서는 크롤링을 이용해서 네이버 주식 페이지에서 국내 증시 상위 50개의 종목 이름과 가격을 가져오는 기능을 구현한 뒤 csv파일로 결과를 저장하는 방법을 알아보았다. 이번에는 동일한 결과를 엑셀 파일(.xlsx)로 저장하는 방법을 알아보고자 한다. 구현하기 파이썬에서 엑셀 파일을 만들기 위해서는 라이브러리가 필요한데 필자는 openpyxl 이라는 라이브러리를 이용했다. 먼저 pip install openpyxl 명령어로 라이브러리를 설치한다. res = requests.get("https://finance.naver.com/sise/sise_market_sum.naver?&page=1") soup = BeautifulSoup(res.content, 'html.parser') comp..
이번 글에서는 네이버 주식 국내 증시 중 코스피 시가총액 상위 50개 종목명과 현재가를 크롤링하는 예제를 살펴보고 추출한 데이터를 csv파일로 저장하는 방법을 알아본다. https://finance.naver.com/sise/sise_market_sum.naver?&page=1 해당 페이지로 들어가면 코스피에 상장된 기업들이 시가 총액 순으로 정렬된 페이지가 나타난다. 필자는 해당 페이지에서 종목명, 현재가를 크롤링으로 추출해보고자 한다. 먼저 F12 또는 오른쪽 마우스 클릭 후 검사 탭을 눌러 개발자 도구를 연다. 그 다음으로 기업들이 어떤 태그에 묶여있는 지 확인해봤더니 tbody라는 태그에 속한 것을 확인할 수 있었다. 이제 삼성전자라는 키워드가 어떻게 구성되어 있는지 살펴보자. 개발자 도구 왼쪽 ..