0
Je souhaite récupérer des données en arabe à partir de Twitter
, en utilisant Python3.5
et Tweepy
.Récupérer des données en arabe à partir de Twitter
Je trouve un programme qui fonctionne très bien avec la langue anglaise ou française Mais pour la langue arabe, les tweets sont décodés. pour exp:
\ u04f \ u04e \ u043e \ u0430 \ U0430 \ u044f
Voici le programme:
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()
je certaines fonctions, mais je reçois des erreurs:
- data.decode() que je reçois une erreur AttributeError: l'objet 'str' n'a pas d'attribut 'decode'
- u (données) j'obtenir une erreur NameError: nom 'u' est pas défini
- piste = [unicode ('2016', 'utf-8'), unicode (» الطقس », 'utf-8'), unicode ('أحوال', 'utf-8')] Je reçois une erreur NameError: nom 'unicode' est pas défini
Avec le programme que vous avez posté, il semble correct pour Python 3 (je laisserais tomber le 'newline = None', cependant). Avez-vous une erreur? Par exemple, 'print' sur une console Windows limite généralement les caractères Unicode pris en charge, il est donc important de mentionner votre version Python, votre système d'exploitation, votre environnement d'exécution (console ou IDE) et d'afficher une trace complète des erreurs. –
@ MarkTolonen J'ai trouvé une solution http://pastebin.com/v0QhbzS4 c'est supposé fonctionner :) – Asma