파이썬으로 할 수있는 일을 Qiita 기사에서 고려하십시오.

소개



프로그래밍 학습을 계속하고 있다면, 튜토리얼을 마친 후에 무엇을 하면 모르는 일이 없을까 (나는 있다)
언어의 구문은 이해할 수 있었지만, 그 다음에 무엇을 하면 좋을지 모른다. 그런 상황이 초보자에게는 있는 것이 아닐까 생각한다.

그래서 이번에는 Qiita의 상위 기사나 태그를 취득·분석함으로써 다음에 무엇을 만들면 좋은지 아타리를 붙이고 싶다.

했던 일


  • 특정 단어에서 Qiita 상위 기사의 제목을 가져옵니다
  • 특정 단어와 관련된 태그 검색 및 분석

  • 요점은 상위 기사를 참고로 자신이 만드는 것의 참고로 하는 것과, 어떤 장르가 많은지를 태그로부터 고찰해 보았습니다.
    ※기본적으로 스크래핑을 할 뿐입니다만

    환경



    파이썬 3.9.0

    1. 특정 단어에서 Qiita 상위 기사의 제목을 얻으십시오



    예를 들어, 'Python'으로 검색했을 때의 상위 기사를 10페이지분 취득해 보았다.

    qiita_title.py
    
    import requests
    from bs4 import BeautifulSoup as bs
    
    query = input('please input words : ')
    
    with open(query + '_qiita.txt', 'wb') as outfile:
        for i in range(1,11):
            url = 'https://qiita.com/search?page=' + str(i) + '&q=body%3A' + query + '+tag%3A' + query + '&sort=like'
            res = requests.get(url)
            soup = bs(res.text, 'html.parser')
            titles = soup.find_all('h1', class_="searchResult_itemTitle")
    
            for i in titles:
                s = i.get_text()
                outfile.write(s.encode('utf-8'))
                outfile.write(b'\n \n')
    
    
    

    실행 결과: 검색 단어 = python

    프로그래밍에 자주 사용하는 영어 단어의 정리 【수시 갱신】

    【정리】 이것을 모르는 프로그래머는 해치지 않는다고 생각하는 범용적인 툴 100초

    이마도키 자바 스크립트 작성 방법 2018

    신인 프로그래머에게 알고 싶은 인류가 오브젝트 지향을 얻을 때까지의 궤적

    AtCoder 에 등록하면 다음에 하는 것 ~ 이것만 풀면 충분히 싸울 수 있다! 과거문정선 10문 ~

    ~이하 약.

    같은 느낌으로 qiita의 상위 기사의 제목만 빼내고 다음에 무엇을 만들면 좋은지 참고로 할 수 있다.
    덧붙여서, 개인적으로 재미있을 것이라고 생각한 것은 이 근처.

    장고를 가장 빠르게 마스터하는 part1
    블록체인을 만드는 것으로 배우기 ~ 블록체인이 어떻게 움직이고 있는지 배우는 가장 빠른 방법은 만들어 보는 것이다~
    "빨간 타인"의 대의어는 "흰색 연인"이것을 자동 생성하고 싶은 이야기
    딥 러닝만 있으면 경마에서 회수율 100%를 넘을 수 있다
    기술서 랭킹 사이트를 Qiita 기사의 집계로부터 만들면, 약 4000권의 기술책이 좋은 느낌으로 줄지어

    나도 랭킹 사이트라든가 만들고 싶은 것이군요~

    2. 특정 워드에 관련된 태그를 취득·분석



    이번에는 상위 기사의 관련 태그를 취득·분석함으로써 검색어에서 어떤 일을 하는 것이 타당한지를 판단한다.

    qiita_tag.py
    
    import requests
    from bs4 import BeautifulSoup as bs
    import csv
    
    query = input('please input words : ')
    lists = []
    
    for i in range(1,11):
        url = 'https://qiita.com/search?page=' + str(i) + '&q=body%3A' + query + '+tag%3A' + query + '&sort=like'
        # url = 'https://qiita.com/search?page=1' + '&q=body%3A' + query + '+tag%3A' + query + '&sort=like'
        res = requests.get(url)
        soup = bs(res.text, 'html.parser')
        tags = soup.find_all('li', class_="tagList_item")
        for i in tags:
            lists.append(i.get_text())
    
    print("\n /// result is below /// \n")
    print(lists, '\n')
    
    unique_tags = set(lists)
    
    with open('./csv/'+query+'_tags.csv', 'w', newline='') as f:
        for i in unique_tags:
            writer = csv.writer(f)
            writer.writerow([str(i), lists.count(i)])
    
    

    앞에서와 마찬가지로 파이썬으로 검색한 기사 태그를 csv로 추출해 보았다. 그것을 정렬 해 본 것이 이하 (1 열째가 태그, 2 열째가 등장 횟수 (전 기사 수 = 100 기사))



    이렇게 보면 '기계학습', '심층학습', '데이터 처리'가 많아 역시 데이터를 처리하는 언어라고 하는 것을 알 수 있다.
    다음으로 'Django', '스크래핑', 'Ruby' 등도 많이 볼 수 있기 때문에 Web계의 수요도 있는 것을 알 수 있다. 이것은 python이 Web계에 이용된다고 하는 것보다, Web개발을 하고 있는 사람의 모수가 많기 때문에 거기에 따라 Web계의 태그도 늘어나고 있지 않을까 생각한다(모르지만)

    결론



    라고 말하면 파이썬은 기계 학습과 같은 데이터 처리에 강한 언어임을 알았다 (전부터 알고 있던 것임)
    그런데, 나 자신 모처럼 파이썬을 배우고 있는데 아직 기계 학습 동정이므로, 다음 번 기사당에서 만져보고 싶다

    좋은 웹페이지 즐겨찾기