Ошибка GoogleTranslator - Ожидаемое значение: строка 1, столбец 1 (символ 0) (вероятно, проблема с API - PullRequest
0 голосов
/ 24 апреля 2020

Я впервые задаю вопрос о переполнении стека! Поэтому, пожалуйста, извините, если я не смогу следовать шагам или традициям. Моя цель - использовать Twitter API для сбора текстовых данных Twitter, а затем проводить анализ настроений. Чтобы учесть разные языки, я попробовал использовать гугл перевод в кодах. Тем не менее, я продолжаю получать: «JSONDecodeError: Ожидаемое значение: строка 1, столбец 1 (char 0)», что, похоже, Google пытается временно ограничить меня из-за слишком большого количества запросов на перевод. Кажется, что есть способ обойти использование VPN (в настоящее время я использую NordVPN), но мой уровень кодирования не на том уровне, чтобы реально реализовать изменения.

Есть ли другой способ исправить эти проблемы? Или кто-то может мне помочь с настройкой VPN на моем коде? Спасибо!

shows = CONCORDANCE_POPULAR["TwitterTag"].values.tolist()

RESULTS = []

for TwitterTag in tqdm(shows, desc = "Scraping Individual Tags"):

    tweets = get_tweets(TwitterTag, pages=2)

    for tweet in tweets:

        ID = tweet['tweetId']
        ReTweet = tweet['isRetweet']

        Year = tweet['time'].year
        Month = tweet['time'].month
        Day = tweet['time'].day

        text =tweet['text']
        replies = tweet['replies']
        retweets = tweet['retweets']
        likes = tweet['likes']

        TEMP = [ID, ReTweet, Year, Month, Day, text, replies, retweets, likes, TwitterTag]

        RESULTS.append(TEMP)

    time.sleep(10)

Names = ["ID", "ReTweet", "Y", "M", "D", "Text", "Replies", "RT", "Likes", "TwitterTag"]

RESULTS = pd.DataFrame(RESULTS, columns = Names)

Sentiments = []

for line in tqdm(RESULTS['Text'].values.tolist(), desc = 'Sentiment Analysis'):
    Sentiments.append(analyzer.polarity_scores(line)['compound'])
RESULTS['Sentiment'] = Sentiments

Languages = []

for line in tqdm(RESULTS['Text'].values.tolist(), desc = 'Identify Language'):
    Languages.append(detect(line))
    time.sleep(.5)
RESULTS['Lang'] = Languages

TransSentiments = []
translator = Translator()
for line in tqdm(RESULTS['Text'].values.tolist(), desc = "Sentiment of Translated"):
    translation = translator.translate(line, dest = 'en').text
    TransSentiments.append(analyzer.polarity_scores(translation)['compound'])
    time.sleep (1)
RESULTS['TransSentiment'] = TransSentiments
...