Ejemplo n.º 1
0
        "until": '2017-10-17'
    }]

    # HTTP Error 500: Internal Server Error  -> 데이터가 없는것으로 유추 가능

    # collection
    for item in items:
        result_file = collection.crawling(**item, fetch=True)
        item['result_file'] = result_file

    # analysis
    for item in items:
        # print(item['result_file'])ㅣ
        data = analyze.json_to_str(item['result_file'], 'message')
        item['count'] = analyze.count_word_freq(data)

    # visualization
    for item in items:
        count = item['count']
        count_top50 = dict(count.most_common(50))
        file_name = '%s_%s_%s' % (item['pagename'], item['since'],
                                  item['until'])

        visualize.wordcloud(count_top50, file_name)

        visualize.graph_bar(values=list(count_top50.values()),
                            ticks=list(count_top50.keys()),
                            show_grid=False,
                            file_name=file_name,
                            show_graph=False)
Ejemplo n.º 2
0
        endTime = time.time() - startTime
        print('Running analyze : ' + str(endTime))

        data = analyze.json_to_str(item.get('resultfile'), 'message')
        item['count_wordfreq'] = analyze.count_wordfreq(data)

    # 데이터 시각화(visualize)
    for item in items:
        endTime = time.time() - startTime
        print('Running visualize : ' + str(endTime))

        # 분석된 단어들 중에 most 50개만..
        count = item['count_wordfreq']
        count_m50 = dict(count.most_common(50))

        # wordclud, graph bar
        filename = "%s_%s_%s" % (item['pagename'], item['since'],
                                 item['until'])
        visualize.wordcloud(filename, count_m50)
        visualize.graph_bar(  # 다른 바에도 적용하기위해 함수로 제작
            title='%s 빈도 분석' % (item['pagename']),
            xlabel='단어',
            ylabel='빈도 수',
            values=list(
                count_m50.values()),  #, filename) # 딕셔너리니까 리스트 형태로 바꿔서 ..
            ticks=list(count_m50.keys()),  # x, y의 값축(항목축) 지정
            showgrid=True,  # grid = 격자
            filename=filename,  # 파일로 저장 할건데,
            showgraph=False  # 그래프로도 바로 보여줄것인가?
        )
Ejemplo n.º 3
0
        'since': '2017-10-01',
        'until': '2017-10-17'
    }, {
        'pagename': 'chosun',
        'since': '2017-10-01',
        'until': '2017-10-17'
    }]

    # collection
    for item in items:
        resultfile = collection.crawling(**item, fetch=False)
        item['resultfile'] = resultfile

    # analysis
    for item in items:
        data = analyze.json_to_str(item['resultfile'], 'message')
        item['count'] = analyze.count_wordfreq(data)

    # visualization
    for item in items:
        count = item['count']
        count_t50 = dict(count.most_common(50))
        filename = '%s_%s_%s' % (item['pagename'], item['since'],
                                 item['until'])
        visualize.wordcloud(count_t50, filename)
        visualize.graph_bar(values=list(count_t50.values()),
                            ticks=list(count_t50.keys()),
                            showgrid=True,
                            filename=filename,
                            showgraph=False)
Ejemplo n.º 4
0
    #데이터 분석
    for item in CONFIG['items']:
        # print(item['resultfile'])
        data = analyze.json_to_str(item['resultfile'], 'message')
        print(data)
        item['count_wordfreq'] = analyze.count_wordfreq(data)
        print(item['count_wordfreq'])

    #데이터 시각화(visualize)

    for item in CONFIG['items']:
        count = item['count_wordfreq']
        count_m50 = dict(count.most_common(50))

        filename = '%s_%s_%s' % (item['page_name'], item['since'],
                                 item['until'])
        visualize.wordcloud(filename, count_m50,
                            CONFIG['common']['result_vidualization_dir'])
        visualize.graph_bar(
            title='%s 빈도 분석' % (item['page_name']),
            xlabel='단어',
            ylabel='빈도수',
            #딕셔너리 형태이므로 형변환 한다.
            values=list(count_m50.values()),  #value 값
            ticks=list(count_m50.keys()),  #축값을 key에서 받아옴
            showgrid=True,  #그래프에 격자를 그릴지 여부
            filename=filename,
            showgraph=False,  #팝업윈도우를 띄울지 여부
            result_vidualization_dir=CONFIG['common']
            ['result_vidualization_dir'])
Ejemplo n.º 5
0
    # 데이터 분석 (analyze)
    # for item in items:
    # print(item['resultfile'])
    # json데이터를 str로
    for item in CONFIG['items']:
        data = analyze.json_to_str(item['resultfile'],
                                   'message')  # 본문 내용을 str로 변환
        # print(data)
        item['count_wordfreq'] = analyze.count_wordfteq(
            data)  # item['word_freq'] 시각화용

        # print(item['count_wordfreq'])

    # 데이터 시각화 (visualize)
    for item in CONFIG['items']:
        count = item['count_wordfreq']
        count_m50 = dict(count.most_common(50))

        filename = '%s_%s_%s' % (item['pagename'], item['since'],
                                 item['until'])
        visualize.wordcloud(filename, count_m50, CONFIG['result_directory_v'])
        visualize.graph_bar(title='%s 빈도 분석' % (item['pagename']),
                            result_directory_v=CONFIG['result_directory_v'],
                            xlabel='단어',
                            ylabel='빈도 수',
                            values=list(count_m50.values()),
                            ticks=list(count_m50.keys()),
                            showgrid=False,
                            filename=filename,
                            showgraph=False)
Ejemplo n.º 6
0
# def crawling(pagename, since, until, fetch=True, result_directory=''):

if __name__ == '__main__':

    # 데이터 수집 (collect)
    for item in CONFIG['items']:
        resultfile = collect.crawling(**item, **CONFIG['common'])
        item['resultfile'] = resultfile

    # 데이터 분석 (analyze)
    for item in CONFIG['items']:
        data = analyze.json_to_str(item['resultfile'], 'message')
        item['count_wordfreq'] = analyze.count_wordfreq(data)

    # 데이터 시각화 (visualize)
    for item in CONFIG['items']:
        count = item['count_wordfreq']
        count_m50 = dict(count.most_common(50))     # dict 형태로

        filename = '%s_%s_%s' % (item['pagename'], item['since'],  item['until'])         # 이미지 저장할 파일
        visualize.wordcloud(filename, count_m50)        # def wordcloud(filename, wordfreq): pytagcloud
        visualize.graph_bar(
            title='%s 빈도 분석' % (item['pagename']),
            xlabel='단어',
            ylabel='빈도수',
            values=list(count_m50.values()),    # 그래프의 y 값 : count_m50 딕셔너리의 values
            ticks=list(count_m50.keys()),        # 그래프의 x 값 : count_m50 딕셔너리의 keys
            showgrid=False,     # 격자 여부
            filename=filename,      # 파일로 저장
            showgraph=False)         # pop-up window 띄울지 여부