[시각화] WordCloud, konlpy

2024. 10. 7. 16:35·크롤링, 스크래핑, 시각화/시각화

이번 포스팅에서는 BeautifulSoup를 통해 제 블로그를 스크래핑 후 wordcloud와 konlpy를 통해 형태소를 분석 후 텍스트 구름을 만들어보려고 합니다!

 

길게 말하면 재미없으니, 바로 설명과 코드를 보시죠!

 

WordCloud?

wordcloud는 파이썬의 텍스트 클라우드 라이브러리로, 말 그대로 텍스트 구름을 그릴 수 있는 시각화 라이브러리입니다!

 

konlpy

konlpy는 한국어 형태소 분석기 라이브러리로, 문장 내에서 원하는 명사, 부사 등과 같은 요소를 뽑아내는 데 사용하는 라이브러리입니다!

 

설치

pip install wordcloud
pip install konlpy

 

실습 코드

# 과도한 요청을 방지하기 위해 0.5초마다 요청 보내기!
import time
from bs4 import BeautifulSoup
import requests

articles = []

for i in range(1, 6):
    res = requests.get("https://jh-codingdiary.tistory.com/?page={}".format(i))
    soup = BeautifulSoup(res.text, "html.parser")

    parsed_datas = soup.find_all("a", class_="link-article")

    for data in parsed_datas:
        articles.append(data.text.strip())
    time.sleep(0.5)
    
# 시각화에 쓰이는 라이브러리
import matplotlib.pyplot as plt
from wordcloud import WordCloud

# 횟수를 기반으로 딕셔너리 생성
from collections import Counter

# 문장에서 명사를 추출하는 형태소 분석 라이브러리
from konlpy.tag import Hannanum

hannanum = Hannanum()
words = []
for article in articles:
	# .nouns()를 통해 명사 추출!
    nouns = hannanum.nouns(articles)
    words += nouns

print(len(words)) # 1361개의 명사가 추출된 것을 확인!

# counter를 통해 각 명사의 개수 세기!
counter = Counter(words)

# WordCloud를 통한 시각화!
wordcloud = WordCloud(
    font_path="/Library/Fonts/Arial Unicode.ttf",
    background_color="white",
    width=2000,
    height=2000,
)

img = wordcloud.generate_from_frequencies(counter)
plt.imshow(img)

 

결과

텍스트 구름

 

앞선 코드를 통해 텍스트 구름을 만들 수 있었습니다!

아쉬운 점은 저 또한 아직 스크래핑에 익숙하지 않아, 제목만 끌고오는 것이 아닌 요약문을 끌고오게 되어 아쉬움이 남습니다!

꾸준히 공부해서 타겟 요소만 가져올 수 있게되는 그 날까지, 열심히 해보겠습니다!

저작자표시

'크롤링, 스크래핑, 시각화 > 시각화' 카테고리의 다른 글

[시각화] 스크래핑을 통한 시각화  (0) 2024.10.07
[데이터 시각화] Seaborn  (0) 2024.10.07
'크롤링, 스크래핑, 시각화/시각화' 카테고리의 다른 글
  • [시각화] 스크래핑을 통한 시각화
  • [데이터 시각화] Seaborn
김줘
김줘
김줘와 같이 데이터, 컴퓨터, IT 공부
  • 김줘
    초보개발자 김줘의 코딩일기
    김줘
  • 전체
    오늘
    어제
    • 분류 전체보기
      • 데이터 엔지니어링 데브코스
      • 데이터
        • Airflow
        • Spark
        • Kafka
        • dbt
      • TroubleShooting
      • Docker
      • AWS
      • 크롤링, 스크래핑, 시각화
        • Selenium
        • 시각화
      • 코딩테스트
        • 프로그래머스
        • 입출력과 사칙연산
        • 정렬
      • Django
      • 자바 공부
      • 끄적끄적
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    파이썬
    부트캠프
    cloud
    티스토리챌린지
    Airflow
    데이터 엔지니어링 데브코스
    데이터 엔지니어
    Java
    초보개발자
    프로그래머스
    프로그래밍
    자바
    aws
    TiL
    데브코스
    에어플로우
    오블완
    Python
    데이터 엔지니어링 데브코스 4기
    Azure
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.0
김줘
[시각화] WordCloud, konlpy
상단으로

티스토리툴바