https://spartacodingclub.kr/hip
스파르타코딩클럽 [힙한 취미 코딩 이벤트]
입장만 해도 경품이? 코딩 무료로 배우고 맥북받자!
spartacodingclub.kr
1) WordCloud 라이브러리 다운로드
파이썬의 WordCloud는 중요한 단어나 키워드를 시각화해서 보여주는 시각화 도구이다.
기분좋게 시작하려던 찰나 WordCloud 라이브러리 다운로드에 에러가 발생해서 조금 애를 먹었다.
- 첫번째 에러 : pip 버전 문제
하지만 에러가 뜨면 자세히 읽어보길 바란다.
처음 발생한 에러는 pip의 버전이 낮아서 다운로드를 할 수 없다는 에러였다.
해결방법)
File - setting - python interpreter
위 경로로 들어가면 현재까지 설치한 라이브러리 목록이 쭉나온다.
pip의 버전이 Latest version 보다 낮다면 빨간 표시가된 버튼을 눌러 업데이트 하면된다.
- 두번째 에러 : Microsoft C++ 14.0 버전 문제
하지만 무엇이 잘못된 것일까?
다시한번 발생한 에러를 자세히 읽어보니
Microsoft Visual C++ Build Tools 가 설치 되어있지 않아서 발생하는 오류이다.
해결방법)
간단하다.
https://visualstudio.microsoft.com/ko/vs/older-downloads/
Visual Studio Older Downloads - 2017, 2015 & Previous Versions
Download previous versions of Visual Studio Community, Professional, and Enterprise softwares. Sign into your Visual Studio (MSDN) subscription here.
visualstudio.microsoft.com
오류 문구에서 안내해주는 주소로 이동하여 설치파일을 다운로드 받아 설치하면 된다.
다운도르 받은 설치파일을 실행하고 기본값을 선택한 뒤 아래와 같이 설치를 진행하면 된다.
#기타설치오류
Microsoft Visual C++ Build Tools 설치 패키지가 없거나 손상되었습니다. 해결 방법!
기존에 올려두었던 Microsoft Visual C++ 14.0 is required 오류 해결방법에 대한 글에서 Microsoft Visual C++ Build Tools 설치 간에 위와 같이 설치 패키지가 없거나 손상되었습니다 라는 오류가 발생한 분들..
somjang.tistory.com
#참고
[Python] pip install 시 error: Microsoft Visual C++ 14.0 is required. 오류 해결 방법
윈도우에서 mecab을 사용할 일이 있어 mecab을 윈도우에서도 사용할 수 있도록 만든 eunjeon 패키지를 pip install eunjeon 명령어로 설치를 시도하였습니다. 그런데 순조롭게 진행되고 있는 줄 알고 있다
somjang.tistory.com
2) WordCloud 만들기
우여곡절 끝에 WordCloud 라이브러리를 성공적으로 다운로드 받았다.
우선 파이썬에서 한글을 인식하게 하기 위해서는 폰트의 위치를 지정해주어야 한다.
아래 코드는 사용가능한 폰트의 위치를 출력해주는 코드다.
# 이용 가능한 폰트 중 '고딕'만 선별
for font in fm.fontManager.ttflist:
if 'Gothic' in font.name:
print(font.name, font.fname)
워드 클라우드를 만들기 위해서는 우선적으로 텍스트의 집합이 필요하다.
아무 텍스트나 가능하다.
나는 간단하게 아래의 방법을 통해 카카오톡의 대화목록을 컴파일한 후 사용했다.
그리고 시간이나 닉네임같은 필요없는 단어들을 전처리한 후에
#데이터 전처리
text = ''
with open("KakaoTalk.txt", "r", encoding="utf-8") as f:
lines = f.readlines()
for line in lines[2:]:
if '] [' in line :
text += line.split('] ')[2].replace('ㅋ','').replace('이모티콘\n','').replace('사진\n','').replace('뭐','').replace('그','')
아래 코드를 통해 간단하게 워드클라우드를 생성할 수 있다.
# 워드 클라우드 생성
wc = WordCloud(font_path='C:/WINDOWS/Fonts/malgunsl.ttf', background_color="white")
wc.generate(text)
wc.to_file("result.png")
- 결과물
강의 : Sparta 코딩클럽
# WordCloud 제작 코드
from bs4 import BeautifulSoup
from selenium import webdriver
from wordcloud import WordCloud
from PIL import Image
import numpy as np
url = "https://spartacodingclub.kr/community?page=review&category=all"
driver = webdriver.Chrome('chromedriver')
driver.get(url)
req = driver.page_source
soup = BeautifulSoup(req, 'html.parser')
articles = soup.select('#community_review > div.reviews-wrapper > div > div > p')
text = ''
for article in articles :
text += article.text + '\n'
# print(text)
driver.quit()
text = text.replace('잘','')\
.replace('정말','')\
.replace('너무','')\
.replace('있는','')\
.replace('많이','')\
.replace('좋았습니다','')\
.replace('수','')\
.replace('것이','')\
.replace('게','')\
.replace('있어서','')\
.replace('제가','')\
.replace('것을','')\
.replace('같아요','')\
.replace('것','')\
.replace('더','') \
.replace('이', '')\
.replace('할','')
mask = np.array(Image.open('sparta_logo.png'))
wc = WordCloud(font_path='C:/WINDOWS/Fonts/malgunsl.ttf', background_color="white", mask=mask)
wc.generate(text)
wc.to_file("day3_masked.png")
'All Development' 카테고리의 다른 글
Attraction) Horseback Riding Machine (0) | 2022.02.22 |
---|---|
Rokoko) Motion Capture (0) | 2022.02.21 |
Python) 힙한취미코딩 - 크롤링(Crawling) (0) | 2021.09.16 |
Python) 힙한취미코딩 - selenium, dload, bs4 라이브러리 (0) | 2021.09.16 |
백준 12865번) 평범한 배낭 (Python, C#) (0) | 2021.05.19 |