Ребят, пишем код на пайтоне для парсинга данных. Так как я в этом деле тапок, то прошу помощи. Я ищу связь между терроризмом и его влиянием на туризм. Вот код. Необходимо взять значения за год и как-нибудь их оформить автоматом в ексель. Может кто помочь разобраться?
Вот собсна, сам код:
from GoogleNews import GoogleNews
from datetime import datetime
from datetime import date
from datetime import timedelta
import pandas as pd
from nltk.sentiment.vader import SentimentIntensityAnalyzer #анализ танальности на английском
import numpy as np #здесь эта библиотека нужна для расчета среднего
googlenews = GoogleNews()
all_news_list = []
all_dates_list = []
date_begin = date(2018, 3, 1)
x = 1
teg = 'terror+act+Germany' #поисковой запрос
while x <= 182:
date_1 = date_begin.strftime('%m/%d/%Y')
all_dates_list.append(date_1)
googlenews.setlang('en')
googlenews.setTimeRange(date_1, date_1)
googlenews.search(teg)
news_list = googlenews.gettext()
all_news_list.append(news_list)
googlenews.clear()
news_list = []
date_begin = date_begin + timedelta(days=1)
x += 1
d = SentimentIntensityAnalyzer() #инструмент анализа тональности
Nedativ_list = []
Positiv_list = []
Neutral_list = []
Compound_list = []
for news_mass in all_news_list:
if len(news_mass) > 0:
Nedativ_list_1 = []
Positiv_list_1 = []
Neutral_list_1 = []
Compound_list_1 = []
for new in news_mass:
analysis = d.polarity_scores(new) #анализ конкретной новости
Nedativ = analysis['neg'] #выделение уровня негативности
Positiv = analysis['pos'] #выделение уровня позитивности
Neutral = analysis['neu'] #выделение уровня нейтральности
Compound = analysis['compound'] #выделение уровня чего-то важного, но чего еще нужно разобраться
Nedativ_list_1.append(Nedativ)
Positiv_list_1.append(Positiv)
Neutral_list_1.append(Neutral)
Compound_list_1.append(Compound)
Nedativ_list.append(np.mean(Nedativ))
Positiv_list.append(np.mean(Positiv))
Neutral_list.append(np.mean(Neutral))
Compound_list.append(np.mean(Compound))
else:
Nedativ_list.append('nan')
Positiv_list.append('nan')
Neutral_list.append('nan')
Compound_list.append('nan')
final_news_ton_df = pd.DataFrame([all_dates_list, Nedativ_list, Positiv_list, Neutral_list, Compound_list])
final_news_ton_df = final_news_ton_df.T
final_news_ton_df.columns = ['Date', 'Nedativ level', 'Positiv level', 'Neutral level', 'Compound level']
final_news_ton_df