我无法在 python 3.6 中使用 tweepy 保存阿拉伯语推文

I can't save an Arabic tweet using tweepy in python 3.6

所以正如标题所说,我几乎没有尝试弄清楚如何在 python 3.6 中使用 tweepy 保存推文。我找到了一个可以用英语保存但不能用阿拉伯语保存的解决方案。有人有什么想法吗?

我在阿拉伯语推文的 CSV 文件中得到的输出是这样的

1510123361.875904::\u0623\u0639\u0648\u0630 \u0628\u0643\u0644\u0645\u0627\u062a \u0627\u0644\u0644\u0647 \u0627\u0644/FMsjMi2nvF

提前致谢。

这是我的代码

non_bmp_map = dict.fromkeys(range(0x10000, sys.maxunicode + 1), 0xfffd)

save = open('ExampleNumber4.csv', mode='w', encoding="utf8", newline=None)


class listener(StreamListener) :
    def on_data (self , data):
        try:
            tweet = json.loads(data)['text']
            print(tweet.translate(non_bmp_map))
            tweet = data.split(',"text":"')[1].split('","source')[0]
            savefile = str(time.time()) + "::" + tweet
            save.write(savefile)
            save.write("\n\n")
            return (True)

        except KeyError:
            pass


    def on_error(self , status):
        print(status)


auth = OAuthHandler (ConsumerKey , ConsumerSecret)
auth.set_access_token(AccessToken , AccessTokenSecret)
twitterStream = Stream(auth , listener())
twitterStream.filter(track=[u'سيارة'])
save.close()

这是一个可行的解决方案。下次请尝试通过包含一些示例 JSON 数据并跳过我们不能按原样 运行 的推特代码来制作产生问题错误的工作示例。

#coding:utf8
import sys
import json
import time
import csv

data = r'{"text": "\u0633\u064a\u0627\u0631\u0629\ud83d\ude00"}' # ASCII JSON
# data = '{"text": "سيارة"}'  # non-ASCII JSON

non_bmp_map = dict.fromkeys(range(0x10000, sys.maxunicode + 1), 0xfffd)

with open('ExampleNumber4.csv', mode='w', encoding="utf-8-sig", newline='') as save:
    writer = csv.writer(save)
    tweet = json.loads(data)['text']
    print(tweet.translate(non_bmp_map))
    savefile = [time.time(),tweet]
    writer.writerow(savefile)

输出:

1510208283.7488384,سيارة�