用python收集阿拉伯语推文

用python收集阿拉伯语推文,python,twitter,Python,Twitter,我正在尝试Python,并使用它来分析阿拉伯语推文 我发现很多脚本都是在线的,在我尝试读取阿拉伯语json转储文件之前,一切都很好 import json import codecs from tweepy import Cursor from twitterclient import get_twitter_client if __name__ == '__main__': client = get_twitter_client() with codecs.open('ar

我正在尝试Python,并使用它来分析阿拉伯语推文

我发现很多脚本都是在线的,在我尝试读取阿拉伯语json转储文件之前,一切都很好

import json
import codecs
from tweepy import Cursor
from twitterclient import get_twitter_client

if __name__ == '__main__':
    client = get_twitter_client()

    with codecs.open('arabic.csv', 'w', encoding ='utf-8') as f:
        for page in Cursor(client.home_timeline, count = 200).pages(1):
            for status in page:
                f.write(json.dumps(status._json)+"\n")
我尝试了所有可能的解决方案,通过添加编码、使用编码和使用utf-8-sig解码

但我还是把它作为输出

 "text": "RT @RTarabic_Bn: \u0645\u0628\u0627\u0634\u0631.. \u0627\u0644\u0634\u0631\u0637\u0629 \u0627\u0644\u0628\u0644\u062c\u064a\u0643\u064a\u0629 \u062a\u0637\u0648\u0642 \u0645\u0646\u0637\u0642\u0629 \u0633\u0643\u0646\u064a\u0629 \u0641\u064a \u0628\u0631\u0648\u0643\u0633\u064a\u0644 \u0644\u0644\u0627\u0634\u062a\u0628\u0627\u0647 \u0628\u0648\u062c\u0648\u062f \u0645\u0633\u0644\u062d\u064a\u0646  "
我的目的是收集阿拉伯语推文,并将其保存到json文件或csv文件中,以便以后进行分析

编辑1:

为便于将来参考,以防有人遇到同样的问题,它看起来像是python如何编写数据的问题。因此,对python来说,这不是一个问题,而是它的书写字符。 我仍然面临着用阿拉伯语输出的困难。但我终于找到了一种至少能读懂它的方法。 打开文件时,请确保使用此选项

with open(fname, 'rb') as f:

如果您以字节形式读取,您将能够用原始语言处理它,请尝试Priging,它会工作>

twitter返回有关tweet语言的信息,检查响应中的“lang”参数,并通过响应['lang']='ar'过滤tweet,其中,'ar'表示阿拉伯语

包括lang参数。例如,对于僧伽罗语,代码如下所示

import tweepy

# Twitter API credentials
consumer_key = "XXXXXXXXX"
consumer_secret = "XXXXXXXXXX"
access_key = "XXXXXXXXXXXXX"
access_secret = "XXXXXXXXXXXXX"

auth = tweepy.OAuthHandler(consumer_key, consumer_secret)
auth.set_access_token(access_key, access_secret)
api = tweepy.API(auth)

for tweet in tweepy.Cursor(api.search,
                           q='තම්බි
                           rpp=100,
                           include_entities=True,
                           lang="si").items():
    print (tweet.created_at, tweet.text)

感谢您的及时回复,我的问题是返回的数据。。。它应该用阿拉伯语打印。。。我尝试使用utf-8编码,但我仍然得到这个\u0645\u0628\u0627\u0634\u0631,而不是得到阿拉伯文字母您使用的是哪种python版本?“tweet_text”。编码('cp1252')。解码('cp1256')我找到了这个解决方案(试试看))我正在使用python 3.6。。。现在仍在工作,搜索之后,这个解决方案似乎对Python2.7I有效,我明白了您的意思。。。虽然我无法访问实体tweet_文本,但这是有道理的。。。我现在要做的是用csv文件中编码的“文本”字段保存tweet,或者以后可以读取的任何文件。