TOP
class="layout-aside-left paging-number">
본문 바로가기
데이터분석 만능열쇠 [파이썬]/<파이썬 데이터 분석>

[파이썬] 네이버 뉴스 댓글 추첨 (feat.임영웅) - 2

by 기록자_Recordian 2024. 6. 29.
728x90
반응형
수행 내용 및 목표

 
파이썬을 이용하여 네이버 뉴스의 댓글 작성자 데이터를 모아
1. 댓글을 분석하여 워드 클라우드를 생성
2. 작성자 중 한 명 (또는 그 이상)을 추첨하는 프로그램을 만든다.
 


이전 내용
 

[파이썬] 네이버 뉴스 댓글 분석(feat.임영웅) - 1

수행 내용 및 목표 파이썬을 이용하여 네이버 뉴스의 댓글 작성자 데이터를 모아 1. 댓글을 분석하여 워드 클라우드를 생성 2. 작성자 중 한 명 (또는 그 이상)을 추첨하는 프로그램을 만든다. 뉴

puppy-foot-it.tistory.com

 

가수 임영웅님이 '삼시세끼'에 출연한다는 기사에 달린 댓글을 이용하여 자연어 처리 과정을 거친 후

워드 클라우드를 생성하였다.

 

관련 기사

 

임영웅, 차승원·유해진과 '삼시세끼' 짓는다.. 나영석이 꾸린 '깜짝 밥상'

가수 임영웅이 올 하반기 방송 예정인 tvN 새 예능프로그램 '삼시세끼' 새 시즌에 출연한다. 지난해 홀로 KBS '마이 리틀 히어로'에 출연한 적은 있지만, 임영웅이 여러 연예인과 함께 리얼 버라이

n.news.naver.com

 


댓글 추첨 프로그램 만들기

 

먼저 이전 시간에 저장해둔 댓글 작성자와 작성 내용이 담겨 있는 csv 파일을 로드하고,

댓글 추첨 프로그램을 만들기 위한 모듈 등을 import 한다.

 

필요한 모듈의 경우는, 구글링을 통해 추첨 프로그램을 만든 사례들을 찾아보았고, 대다수가 random 모듈의 shuffle 과 sample 을 활용하여 프로그램을 생성하였다.

 

랜덤 모듈은 말 그대로 임의의 숫자를 추출해낼 때 유용하게 쓰이는데, 파이썬을 설치할 때 기본으로 설치가 되어있다.

shuffle 함수는 숫자를 뒤죽박죽 섞어 놓는다.

 

※ 랜덤 모듈, shuffle 함수 관련된 자세한 내용은 하단 링크를 참고

 

5.3.1 랜덤(random) 모듈

이번에는 파이썬에서의 랜덤(random)에 대해 가볍게 정리해 볼까 합니다. 우선 랜덤이 무엇인지부터 살펴볼까요. 주사위를 던지는 상황을 생각해봅시다. 주사위의 각 면에는 1…

wikidocs.net

 

먼저, 

random 모듈, pandas 모듈을 import 하고, 댓글과 작성자가 저장된 csv 파일을 DataFrame 형태로 로드한다.

# 추첨 프로그램
from random import *
import pandas as pd

# 댓글 작성자 목록 담긴 csv 파일 로드
df = pd.read_csv('C:/Users/niceq/Documents/DataScience/Practice/Source_code/comments.csv', encoding='utf-8')
df.head()

 

그리고 DataFrame을 리스트 형태로 변환하고

# 데이터프레임을 리스트 형태로 변환
writers_list = df.values.tolist()

 

순서를 섞어 그 중 한 명을 뽑은 뒤, 당첨자를 발표하는 코드를 입력하면 된다.

# 순서 섞기
shuffle(writers_list)
# 아무나 1명 추출
winner = sample(writers_list, 1)

# 당첨자 출력
print('---------당첨자 발표----------')
print('당첨자 : {}'.format(winner))
print('---------축하드립니다----------')

상품은 없지만... 축하 드립니다!

 

만약 여러 명을 추첨하고 싶은 경우, sample(리스트, 추첨수) 만 변경해주면 된다.

# 순서 섞기
shuffle(writers_list)
# 아무나 4명 추출
winners = sample(writers_list, 4)

# 당첨자 출력
print('---------당첨자 발표----------')
print('당첨자 : {}'.format(winners))
print('---------축하드립니다----------')

다시 한 번.. 상품은 없지만, 축하 드립니다.


전체 코드(일부 내용 제외)

News_replies.ipynb
0.45MB

728x90
반응형