파이썬 프로그래밍 : Qiita 기사 태그에서 WordCloud를 그려 보았습니다.
소개
전회의 기사( Windows10의 PC에 분석 환경(Python3+JupyterLab)을 만들어 보았다 )로, 분석 환경은 우선 정비 완료.
기다리고 기다렸다, 파이썬 프로그래밍을 시작!
이번에는 WordCloud를 그립니다. WordCloud 자체는 여기을 참조한다.
궁극적으로 다음과 같은 물건을 만듭니다.
본고에서 소개하는 것
Qiita API v2 문서
WordCloud for Python documentation
본고에서 소개하지 않는 것
샘플 코드
Code량도 많지 않기 때문에, 전체의 Code를 소개.
포인트는 2개.
1. GET 요청을 실행할 때 액세스 토큰 지정
Qiita API v2 문서 에 다음의 기재가 있도록(듯이), 액세스 토큰을 취득해, Code에 묻는 것이 베터.
이용 제한
인증하는 상태에서는 사용자당 1시간에 1000회까지, 인증하지 않은 상태에서는 IP 주소당 1시간에 60회까지 요청을 수락합니다.
2. 이미지를 그릴 때 일본어 대응 글꼴 지정
WordCloud for Python documentation 에 이하의 기재가 있도록(듯이), 자연언어 처리로 일본어를 취급하기 위해(때문에), 일본어 대응 폰트를 (적절하게 인스톨 해) 지정하는 것이 베터.
font_path:string
Font path to the font that will be used (OTF or TTF). Defaults to DroidSansMono path on a Linux machine. If you are on another OS or don’t have this font, you need to adjust this path.
analyzeQiita_WordCloudimport requests
import json
url = 'https://qiita.com/api/v2/items?per_page=100&page='
headers = {'Authorization': 'Bearer ${YOUR ACCESS-TOKEN}'}
tags = []
for i in range(5):
print('=====')
print('Downloading ... ' + url + str(i+1))
print('-----')
#response = requests.get(url + str(i+1))
response = requests.get(url + str(i+1), headers=headers)
for article in json.loads(response.text):
print(article['title'])
tags.extend([tag['name'].lower() for tag in article['tags']])
print('=====')
from wordcloud import WordCloud
from pathlib import Path
result_dir_path = Path('..').joinpath('result')
#分割テキストからwordcloudを生成・フォント指定
wc = WordCloud(font_path=r"C:\WINDOWS\Fonts\YuGothR.ttc", background_color='white', colormap='bone', width=800, height=600)
wc.generate(" ".join(tags))
wc.to_file(result_dir_path.joinpath('trends_of_qiita_wordcloud_shortver.png'))
파이썬과 (색은 얇은) 자바 스크립트 태그를 부여한 기사가 많은 모양.
요약
Qiita 기사의 태그를 사용하여 WordCloud를 그리는 방법을 소개합니다.
Reference
이 문제에 관하여(파이썬 프로그래밍 : Qiita 기사 태그에서 WordCloud를 그려 보았습니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/Blaster36/items/5ab0f5a4e6a96d5960bc
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
import requests
import json
url = 'https://qiita.com/api/v2/items?per_page=100&page='
headers = {'Authorization': 'Bearer ${YOUR ACCESS-TOKEN}'}
tags = []
for i in range(5):
print('=====')
print('Downloading ... ' + url + str(i+1))
print('-----')
#response = requests.get(url + str(i+1))
response = requests.get(url + str(i+1), headers=headers)
for article in json.loads(response.text):
print(article['title'])
tags.extend([tag['name'].lower() for tag in article['tags']])
print('=====')
from wordcloud import WordCloud
from pathlib import Path
result_dir_path = Path('..').joinpath('result')
#分割テキストからwordcloudを生成・フォント指定
wc = WordCloud(font_path=r"C:\WINDOWS\Fonts\YuGothR.ttc", background_color='white', colormap='bone', width=800, height=600)
wc.generate(" ".join(tags))
wc.to_file(result_dir_path.joinpath('trends_of_qiita_wordcloud_shortver.png'))
Qiita 기사의 태그를 사용하여 WordCloud를 그리는 방법을 소개합니다.
Reference
이 문제에 관하여(파이썬 프로그래밍 : Qiita 기사 태그에서 WordCloud를 그려 보았습니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/Blaster36/items/5ab0f5a4e6a96d5960bc텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)