Carpe diem

NLP 관련 석사 과정 재학 중 (2022.03 ~ )

Python 46

Docker 내부에서 한글 입력이 깨지는 경우, 설정 방법

Docker 내에서, 한글을 입력할 때 가끔 다음과 같이 한글 입력이 되지 않는 컨테이너가 있다. 한글 입력이 되지 않는 현상 (docker) 한글 입력이 가능하도록 해 주기 위해서는 locales 설정을 해주어야 한다. apt-get update & apt upgrade -y apt-get install locales # locale 정보 확인 locale # -a 옵션 추가 시 사용 가능한 locale 조회 가능 localedef 혹은 locale-gen 명령어를 통해 한글 지원이 되는 locale을 생성하자. # 둘 중 하나 수행 후 locale -a 입력 시 ko_KR locale 확인 가능 localedef -f UTF-8 -i ko_KR ko_KR.UTF-8 locale-gen ko_KR.UT..

Python 2024.02.13

(unicode error) 'utf-8' codec can't decode byte 0xb0

파이썬 파일에, 한글이 포함되어 있는 경우 코드 실행 시 다음과 같은 오류가 발생한다. (unicode error) 'utf-8' codec can't decode byte 0xb0 ~ 오류가 발생하는 코드 맨 윗 줄에, 다음 코드를 추가해두면 해결된다. # -*- coding: cp949 -*- * 어떤 글들은 cp949 -> utf-8 로 해서 사용하던데, 이 경우 코드에 한글이 있는 경우 그대로 오류가 발생한다.

Python 2024.02.12

MySQL 찍먹하기 !! (feat.pymysql)

해당 포스트는 pymysql 라이브러리를 사용해 mysql 데이터베이스에 접속하고, 테이블 생성부터 데이터 업로드, 테이블 삭제하는 방법까지의 과정에 대해 다룬다. 0. MySQL 연결 pymysql 라이브러리를 사용해 mysql에 접속한다. 연결 전에, MySQL 데이터베이스를 생성하고 ip 접속 허용 설정을 해 주어야 한다. 1) MySQL 환경파일 기본 설정 args = dict() args['host'] = "본인의 ip 주소" args['user'] = "db에 접속할 사용자 이름" args['password'] = "db에 접속할 사용자 패스워드" args['db'] = "db 이름" args['port'] = 3306 # 기본 포트 번호 2) MySQL 연결 import pymysql con..

Python 2024.01.30

Reddit data Crawling (Reddit API)

[Reddit Data 크롤링을 하기 위한 5가지 방법] 1. Manual Scraping - 쉽지만, 속도 측면에서 별로 효율적이지 못함 2. Reddit API - 손쉽게 게시물 크롤링 가능 .. Bt Reddit 스레드의 게시물 수를 1,000개로 제한 3. Third-Party APIs - 효과적이고, 확장 가능하지만 비용효율적이지 못함 4. Custom Scraping Scripts - 사용자 정의, 확장 가능하지만 높은 코딩 수준 요구, 비용효율적이지 못함 5. Click Once & Scrape Repetitively - 간편하지만, 1달에 9만원 정도 비용 지불 필요 (2주 무료체험 가능) Reddit API를 이용한 Reddit Data 크롤링 1. Reddit 홈페이지 회원 가입 2. ..

Python/crawling 2022.12.08

내가 보려고 만든 Pandas & Numpy

※ 내가 보려고 만들었기 때문에 설명이 친절하지 않을 수 있음 ※ 가끔가다 업데이트 진행 (최종 업데이트: 2022.10.04) 0. 파일 읽기, 변환, 저장 import pandas as pd ''' csv 파일 읽기 ''' pd.read_csv('filepath.csv') # [option] # sep(','), header(None, 0), names(['col', ..]), na_values('?'), nrows(num), index_col('col') # skiprows(num), skipfooter(num), low_memory(True, False), encoding('utf-8', 'cp949') # ''' excel 파일 읽기 ''' pd.read_csv('filepath.xlsx', e..

인스타그램 크롤링 (해시태그, 계정 ID)

교수님이 크롤링 관련 일을 주셔서, 기록용으로 업로드 ~ 0. 해시 태그 이용 input: 해시 태그 + 크롤링 게시글 개수 output: 게시글의 내용, 해시태그, 장소, 좋아요 수 1. 계정 ID 이용 input: 인스타 계정 아이디 output1: 계정 아이디, 게시글 수, 팔로워 수 output2: 계정 아이디, 최근 9개 게시글의 좋아요 수, 댓글 수, 본문, 해시태그, 장소 tqdm 라이브러리를 사용해 게시글 크롤링이 잘 진행되고 있는지도 확인해 보았다. 또한 댓글 수를 계산하기 위해, 댓글 창 부분의 '+' 버튼을 계속 누르도록 설정해주는 부분도 추가해 주었다. 아 그리고 크롤링할 때는 copy to xpath 기능을 활용함 ! * 크롤링한 데이터는 공부 용도로만 사용하였음

Python/crawling 2022.04.29