我想对基于特定关键字提取的推文列表进行情绪分析。进入的推文主要使用荷兰语,TextBlob需要将它们转换为英语才能计算推文的极性和主观性值。如何将推文转换为英文?我基本上需要一个免费的API来进行翻译。无法使用MS Bing翻译器。我尝试过使用goslate
,langdetect
,translate
和translation
库,但都没有。这是我正在使用的代码:
#!/usr/bin/env python
import tweepy
import goslate
from langdetect import detect
from translation import baidu, google, youdao, iciba
from translate import Translator
import os
import time
import sys
reload(sys)
sys.setdefaultencoding('utf-8')
t=time.time()
#karan's api keys
consumer_key = 'xxx'
consumer_secret = 'xxx'
access_key = 'xxx'
access_secret = 'xxx'
gs=goslate.Goslate()
translator= Translator(to_lang="en")
auth = tweepy.OAuthHandler(consumer_key, consumer_secret)
auth.set_access_token(access_key, access_secret)
api = tweepy.API(auth)
search_results = api.search(q="football", count=2, geocode="52.132633,5.2912659999999505,300km")
f=open('tweets_football.txt','wb')
for i in range(0,len(search_results)):
try:
print search_results[i].text
print search_results[i].id
print search_results[i].user.screen_name
trans=search_results[i].text
#print(gs.translate(trans,'en'))
print(translator.translate(trans))
if search_results[i].text not in search_results:
f.write(search_results[i].text)
f.write("\n")
print "Written to file!"
except Exception as e:
print str(e)
f.close()
print time.time()-t
请指出正确的方向。如果有一个更简单的方法来处理此过程,请同时提出建议。提前谢谢。
答案 0 :(得分:0)
您可以尝试以下代码:
来自翻译导入翻译 从googletrans导入翻译器
text ='hallo_allemaal'
entext = Translator()。translate(text,src ='nl',dest ='en')。text
打印(文本)
Google API对一个IP的匹配数有一些限制。如果收到该错误。还要检查一下。