"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,
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']),
}] # 데이터 수집(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)
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,