0
我想从Twitter
检索阿拉伯数据,使用Python3.5
和Tweepy
。从Twitter检索阿拉伯数据
我发现一个程序,与英语或法语很好的工作,但对于阿拉伯语言的推文是解码。 为EXP:
\ u04f \ u04e \ u043e \ u0430 \ U0430 \ u044f
这是程序:
from tweepy import Stream
from tweepy import OAuthHandler
from tweepy.streaming import StreamListener
ConsumerKey = 'Your_Consumer_Key'
ConsumerSecret = 'Your_Consumer_Secret'
AccessToken = 'Your_Access_Token'
AccessTokenSecret = 'Your_Access_Token_Secret'
tweets = open('Tweets.txt',mode='w',encoding="utf8",newline=None)
class listener(StreamListener) :
def on_data (self , data) :
tweets.write(data)
print (data)
return True
def on_error (self , status) :
print (status)
auth = OAuthHandler (ConsumerKey , ConsumerSecret)
auth.set_access_token(AccessToken , AccessTokenSecret)
twitterStream = Stream(auth , listener())
twitterStream.filter(track=['أحوال','الطقس','2016'])
tweets.close()
我使用的一些功能,但我得到的错误:
- data.decode()我得到错误AttributeError:'str'对象没有属性'解码'
- U(数据)我得到一个错误NameError:名 'U' 未定义
- 轨道= [unicode的( '2016', 'UTF-8'),unicode的(” الطقس”, 'UTF-8'),统一( 'أحوال', 'utf-8')]我得到一个错误NameError:名字 'unicode' 时没有定义
随着你发布的程序,它看起来正确的Python 3(虽然我会删除'newline = None')。你有错误吗?例如,Windows控制台上的'print'通常会限制所支持的Unicode字符,因此提及您的Python版本,操作系统,运行时环境(控制台或某个IDE)并发布任何错误的完整回溯也很重要。 –
@MarkTolonen我找到了一个解决方案http://pastebin.com/v0QhbzS4它假设工作:) – Asma