Python을 사용한 텍스트 발굴(WordCloud)
개시하다
이 글은 지역 블로그의 최신 보도 200개의 제목을 웹 커튼(beautifulsoup)을 통해 얻어 텍스트 발굴을 진행한다.
컨디션
웹 페이지 장식
웹 덮어쓰기 (beautifulsoup) 에서 최신 보도 200개의 제목을 표시한 페이지 https://blog.sagafan.jp/allentry 에서 제목을 가져옵니다.
제목은 h3 라벨로, soup을 표시합니다.find_all ("h3") 에서 모든 제목을 그룹으로 가져옵니다.
import requests
from bs4 import BeautifulSoup
## さがファンブログの新着記事200件の URL
url = 'https://blog.sagafan.jp/allentry/'
## Web スクレイピングでタイトルを取得
response = requests.get(url)
response.encoding = response.apparent_encoding
soup = BeautifulSoup(response.text, 'html.parser')
title = []
for i in soup.find_all('h3'):
## タイトルの先頭は HH:MM␣ なので、7行目以降をタイトルとして取得
## 改行コードを削除
title.append(i.getText()[6:].replace('\n', ''))
텍스트 인코딩
wordcloud의 일본어 표시
일본어 워드클라우드를 표시하기 위해 IPA 글꼴을 다운로드하여 작업 디렉터리에 저장합니다.
IPA 글꼴 다운로드
텍스트 인코딩
제목에서 명사만 추출하여wordcloud를 만듭니다.from janome.tokenizer import Tokenizer
from wordcloud import WordCloud
## 除外する単語リスト
## 今回は除外なし
ignore_words = ['']
## タイトルの名詞のみをスペース区切りのテキストへ変換
t = Tokenizer()
words = []
for i in title:
tokens = t.tokenize(i)
for token in tokens:
## 品詞を抽出
pos = token.part_of_speech.split(',')[0]
## 品詞から名詞だけ抽出
if pos in ['名詞']:
## 必要ない単語を省く
if token.base_form not in ignore_words:
words.append(token.base_form)
text = ' '.join(words)
## wordcloud の実行
## 日本語フォントを指定
wordcloud = WordCloud(background_color='white',
font_path='./IPAexfont00301/ipaexg.ttf',
width=800, height=400).generate(text)
## 結果を画像に保存
wordcloud.to_file('./wordcloud.png')
wordcloud 결과
금후
앞으로 텍스트 발굴의 영역은 다음과 같은 내용을 배울 예정이다.
import requests
from bs4 import BeautifulSoup
## さがファンブログの新着記事200件の URL
url = 'https://blog.sagafan.jp/allentry/'
## Web スクレイピングでタイトルを取得
response = requests.get(url)
response.encoding = response.apparent_encoding
soup = BeautifulSoup(response.text, 'html.parser')
title = []
for i in soup.find_all('h3'):
## タイトルの先頭は HH:MM␣ なので、7行目以降をタイトルとして取得
## 改行コードを削除
title.append(i.getText()[6:].replace('\n', ''))
wordcloud의 일본어 표시
일본어 워드클라우드를 표시하기 위해 IPA 글꼴을 다운로드하여 작업 디렉터리에 저장합니다.
IPA 글꼴 다운로드
텍스트 인코딩
제목에서 명사만 추출하여wordcloud를 만듭니다.
from janome.tokenizer import Tokenizer
from wordcloud import WordCloud
## 除外する単語リスト
## 今回は除外なし
ignore_words = ['']
## タイトルの名詞のみをスペース区切りのテキストへ変換
t = Tokenizer()
words = []
for i in title:
tokens = t.tokenize(i)
for token in tokens:
## 品詞を抽出
pos = token.part_of_speech.split(',')[0]
## 品詞から名詞だけ抽出
if pos in ['名詞']:
## 必要ない単語を省く
if token.base_form not in ignore_words:
words.append(token.base_form)
text = ' '.join(words)
## wordcloud の実行
## 日本語フォントを指定
wordcloud = WordCloud(background_color='white',
font_path='./IPAexfont00301/ipaexg.ttf',
width=800, height=400).generate(text)
## 結果を画像に保存
wordcloud.to_file('./wordcloud.png')
wordcloud 결과
금후
앞으로 텍스트 발굴의 영역은 다음과 같은 내용을 배울 예정이다.
앞으로 텍스트 발굴의 영역은 다음과 같은 내용을 배울 예정이다.
Reference
이 문제에 관하여(Python을 사용한 텍스트 발굴(WordCloud)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/shibata0523/items/9730186a045458c18348텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)