7. 워드 클라우드

2024. 4. 6. 20:53· Data/Crawling

1. 워드 클라우드

워드 클라우드란 중요한 단어를 더 잘 보이게 만드는 기법으로 아래와 같은 것을 말한다.

이를 만들기 위해서 첫 번째로 본문 내용을 합치고 그 다음 워드 클라우드를 만들면 된다.

2. 워드 클라우드 제작

이전에 작성했던 코드를 통해 기사를 가져오고, 해당 내용을 클립보드에 복사했다. 클립보드 복사에는 python 라이브러리인 pyperclip을 사용했다.

import time

import pyautogui
import pyperclip
import requests
from bs4 import BeautifulSoup

keyword = pyautogui.prompt("검색어를 입력하세요.")
page = pyautogui.prompt("몇 페이지를 탐색할지 입력하세요.")

# 본문 전체 내용
total_contents = ""

# 총 기사 개수
ariticle_num = 0

for i in range(1, int(page)+1):
    response = requests.get("https://search.naver.com/search.naver?ssc=tab.news.all&where=news&sm=tab_jum&query={}&start={}".format(keyword, i))

    html = response.text
    soup = BeautifulSoup(html, "html.parser")
    articles = soup.select("div.info_group")

    for index, article in enumerate(articles):
        links = article.select("a.info")
        
        if len(links) < 2:
            continue
        
        url = links[1].attrs['href']
        
        response = requests.get(url)
        
        html = response.text
        soup = BeautifulSoup(html, "html.parser")
        
        contents = soup.select_one('#dic_area').get_text().strip()
        total_contents += contents
        ariticle_num += 1
        
        time.sleep(0.5)

print("{}개 기사 크롤링".format(ariticle_num))
pyperclip.copy(total_contents)
pyautogui.alert("클립보드 복사 완료")

그리고 아래 링크로 들어가서 복사된 내용을 붙여놓고 Generate를 시키면 워드 클라우드의 결과를 얻을 수 있다. 링크는 다음과 같다.

 

Create word clouds – WordItOut

Create a new Word listOriginal source Generating from a new source will not change your current word cloud settings.However, changes made to individual words will be lost because a new word list will be created.

worditout.com

AI를 키워드로 검색하여 워드 클라우드를 만든 결과는 다음과 같다.


참고자료: https://www.inflearn.com/course/%ED%8C%8C%EC%9D%B4%EC%8D%AC-%ED%81%AC%EB%A1%A4%EB%A7%81-%EC%8B%A4%EC%A0%84/dashboard

저작자표시 (새창열림)

'Data > Crawling' 카테고리의 다른 글

8. 쿠팡 상품 크롤링  (0) 2024.04.07
6. word 활용 (python-docx)  (0) 2024.04.06
5. 네이버 뉴스 본문 크롤링  (1) 2024.04.06
4. 셀레니움 기본 개념 (네이버 로그인, 네이버 쇼핑 상품 크롤링)  (0) 2024.04.01
3. Openpyxl 기본 개념 (네이버 주식 정보 수집)  (0) 2024.04.01
'Data/Crawling' 카테고리의 다른 글
  • 8. 쿠팡 상품 크롤링
  • 6. word 활용 (python-docx)
  • 5. 네이버 뉴스 본문 크롤링
  • 4. 셀레니움 기본 개념 (네이버 로그인, 네이버 쇼핑 상품 크롤링)
코딩마루
코딩마루
Nam's Study Note코딩마루 님의 블로그입니다.
코딩마루
Nam's Study Note
코딩마루
전체
오늘
어제
  • 분류 전체보기 (169)
    • BackEnd (88)
      • JSP & Servlet (12)
      • Java (12)
      • JDBC (5)
      • Spring (55)
      • Spring Security (3)
      • AWS (6)
      • Docker (0)
    • FrontEnd (4)
      • HTML (4)
    • Algorithm (23)
      • Brute Force (2)
      • Greedy (2)
      • Graph (2)
      • Dynamic Programming (4)
      • Divide and Conquer (1)
      • Data Structure (11)
    • AI (4)
      • NLP (4)
    • DB (29)
      • Oracle (13)
      • MySQL (15)
    • Data (8)
      • Crawling (8)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

최근 댓글

최근 글

hELLO · Designed By 정상우.v4.3.0
코딩마루
7. 워드 클라우드
상단으로

티스토리툴바

개인정보

  • 티스토리 홈
  • 포럼
  • 로그인

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.