파이썬 프로그래밍 : Qiita 기사 태그에서 WordCloud를 그려 보았습니다.

소개



전회의 기사( Windows10의 PC에 분석 환경(Python3+JupyterLab)을 만들어 보았다 )로, 분석 환경은 우선 정비 완료.
기다리고 기다렸다, 파이썬 프로그래밍을 시작!

이번에는 WordCloud를 그립니다. WordCloud 자체는 여기을 참조한다.

궁극적으로 다음과 같은 물건을 만듭니다.


본고에서 소개하는 것


  • Qiita API에서 기사 정보 얻기
  • WordCloud 그리기

  • Qiita API v2 문서
    WordCloud for Python documentation

    본고에서 소개하지 않는 것


  • Python 라이브러리 사용법
  • requests
  • json
  • wordcloud
  • pathlib


  • 샘플 코드



    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_WordCloud
    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를 그리는 방법을 소개합니다.

    좋은 웹페이지 즐겨찾기