일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- python
- Kotlin
- AWS
- macos
- OOAD
- Android
- wireshark
- Express
- MongoDB
- linux
- HTML
- algorithm
- S3
- Network
- postman
- Util
- sequelize
- DATABASE
- docker
- mongoose
- React
- Scheduling
- TypeScript
- mysql
- node.js
- ubuntu
- css
- OS
- typeorm
- Crawling
- Today
- Total
목록
반응형
Python (33)
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..
변수(Variable)란 무엇일까? 우리가 만드는 프로그램이란 수많은 데이터로 이루어져 있다. 그리고 그 데이터를 기반으로 컴퓨터에 명령을 주어 어떤 액션을 취하도록 하는 것이다. 그러면 데이터 는 무엇을 의미하는 것일까? 데이터는 문자나 숫자로 이루어진 것을 의미하여 파이썬에서는 문자와 숫자에도 여러 가지 자료형(type)이 존재한다. 이번 포스팅 글에서 설명하는 변수(Variable) 라는 단어의 의미는 이러한 여러 가지 자료형으로 이루어진 하나의 데이터를 저장하는 저장 공간이라고 이해하면 좋을 것 같다. 파이썬에서 변수를 만들 때 사용되는 자료형은 다음과 같은 것들이 존재한다. # 문자열, String이라고 표현한다. string_data = "hello world!" # 정수, Integer라고 ..
서론 이번 글에서는 쿠팡 홈페이지의 상품 정보들을 크롤링하는 예제를 다뤄보고자 한다. 상품의 이름, 가격, 리뷰 수, 구매 링크 내용을 크롤링하여 엑셀 파일에 저장하는 것까지 해볼 예정이다. 쿠팡 홈페이지를 상업적인 목적으로 크롤링하는 것은 저작권 침해로 문제가 될 수 있으므로 크롤링을 공부하는 목적으로 사용하여야 한다. 크롤링 시작하기 위처럼 필자는 쿠팡 검색어에 아이폰 키워드를 입력한 뒤 이동하는 주소에서 크롤링을 할 것이다. 주소는 여기를 클릭하면 바로 이동할 수 있다. 이제 화면을 살펴보자. 검색 조건에 별다른 필터를 주지 않았을 때 이와 같은 상품 목록들이 나왔다. 한 페이지에는 4개의 상품씩 총 9줄로 구성된 것을 확인할 수 있을 것이다. 필자는 상품 정보 중에서 상품명, 가격, 리뷰 수, 구..
서론 이전 포스팅 글에서 네이버 OpenAPI 사용 방법과 네이버에서 제공하는 API들을 포스트맨을 이용하여 사용하는 방법을 알아보았다. 이번 글에서는 파이썬으로 네이버 OpenAPI 사용을 위한 코드를 구현해보고자 한다. 포스트맨을 이용한 네이버 OpenAPI 사용 방법이 궁금한 분들이나 네이버 OpenAPI 사용 방법 과정이 궁금하신 분들은 여기를 참고하면 좋을 것 같다. 파이썬으로 네이버 Open API 사용하기 먼저 특정 웹사이트의 정보를 가져올 때에는 크롤링에서 많이 사용하는 requests모듈을 사용하여 웹사이트 정보를 가져올 수 있다. 이 때, 기존 크롤링에서 사용한 requests.get() 메서드에 2번째 인자로 네이버 OpenAPI 사용을 위한 Client ID, Client Secre..
서론 이전 포스팅 글에서는 크롤링을 이용해서 네이버 주식 페이지에서 국내 증시 상위 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라는 태그에 속한 것을 확인할 수 있었다. 이제 삼성전자라는 키워드가 어떻게 구성되어 있는지 살펴보자. 개발자 도구 왼쪽 ..
CSS selector란? CSS selector는 직역하면 CSS 선택자이며 의미는 특정 요소를 선택하여 스타일을 적용할 수 있도록 도와준다. 위 그림을 보면 선택자로 p태그에 정의되어 있으며 해당 태그를 여러 속성을 주어 스타일을 적용했다. 이처럼 { 기호가 나오기 이전의 부분을 선택자(selector) 라고 표현하며 파이썬에서 크롤링을 할 때 HTML에 정의되어 있는 많은 selector를 이용하여 데이터를 추출할 수 있다. 쉽게 생각하면 CSS selector는 태그의 연속으로 이루어진 문자열 이라고 생각할 수 있다. (태그 말고도 클래스명, 아이디값 등 다양한 값이 올 수 있으며 아래에서 다룰 예정이다.) 사용방법 기존에는 find(), findAll() 등의 함수를 사용했다면 CSS Sele..
이전 포스팅 글에서는 태그의 클래스명(class=”...”) 을 가지고 내용을 추출하는 방법을 알아보았다. 이번 포스팅 글에서는 임의로 작성된 HTML 코드를 이해하여 작성된 HTML Content를 가지고 파이썬으로 크롤링 하는 다양한 방법들을 살펴볼 예정이다. 먼저 데이터를 추출하기 위한 임의의 HTML 코드는 다음과 같이 작성했다. 임의로 작성된 HTML 코드 타이틀 크롤링이란? 예시로 크롤링 이해하기 HTML 코드를 이해하여 크롤링 다루기 태그를 이용한 데이터 추출 content = """ 임의로 작성된 HTML 코드 타이틀 크롤링이란? 예시로 크롤링 이해하기 HTML 코드를 이해하여 크롤링 다루기 """ soup = BeautifulSoup(content, 'html.parser') data =..