Пример #1
0
        "pagename": "chosun",
        "since": '2017-01-01',
        "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,
Пример #2
0
if __name__ == '__main__':  # __name__ 내장 속성
    # 데이터 수집 (collection)
    for item in CONFIG['items']:
        resultfile = collect.crawling(**item,
                                      **CONFIG['common'])  # 파일 name만 꺼내옴
        item['resultfile'] = resultfile  # 데이터 분석에서 사용하기 위함
    #   collect.crawling(*item)
    #   collect.crawling("jtbcnews", '2017-01-01', '2017-12-31')

    # 데이터 분석 (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']),
Пример #3
0
    }]

    # 데이터 수집(collection)
    for item in items:
        endTime = time.time() - startTime
        print('Running crawler : ' + str(endTime))

        resultfile = collect.crawling(**item, fetch=False)
        item['resultfile'] = resultfile

        # 데이터 분석(analyze)  --> konlpy(...jpype --> +java 64bit, python 64bit 비트 맞춰야함)
    for item in items:
        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)
Пример #4
0
            pagename, **CONFIG['common'])  # 데이터는 수집않고 파일명만 가져오게
        items.append({'pagename': pagename})
        for item in items:
            item['since'] = CONFIG['common']['since']
            item['until'] = CONFIG['common']['until']
            item['resultfile'] = resultfile
    print('resultfile items :', items)
    '''
    for item in items:
        resultfile = collect.crawling(**item, fetch=False)#데이터는 수집않고 파일명만 가져오게
        item['resultfile'] = resultfile
    '''

    #데이터 분석(analyze)items.append({ 'resultfile': resultfile })
    for item in items:
        data = analyze.json_to_str(item['resultfile'],
                                   'message')  # json string으로 바꾸기
        item['count_wordfreq'] = analyze.count_wordfreq(data)

    print('items after anal : ', items)
    #데이터 시각화(visualize)
    for item in items:
        count = item[
            'count_wordfreq']  #count객체를 빼내서  'count_wordfreq': Counter({'빵': 28, '문재인': 27, '년': 20, '편의점': 20, '사람': 1

        count.most_common(50)  # list(tuple) 랭킹 50위까지 순서대로
        count_m50 = dict(count.most_common(
            50))  # dic 형태로 변경 : {'오늘': 126, '일': 110, '기사': 107,

        filename = '%s_%s_%s' % (item['pagename'], item['since'],
                                 item['until'])
        visualize.wordcloud(filename, count_m50,