使用 tweepy 将波斯文本 unicode 转换为波斯字符

convert persian text unicode to persian characters using tweepy

我正在尝试收集波斯语的推文并进行文本分析。我用 tweepy 来做这个。但结果是 unicode 格式。如何将 unicode 文本转换为真正的波斯文本?

     import tweepy
     import csv
     import pandas as pd
     ####input your credentials here
     consumer_key = xxxx
     consumer_secret = xxxx
     access_token = xxxx
     access_token_secret = xxxx

    auth = tweepy.OAuthHandler(consumer_key, consumer_secret)
    auth.set_access_token(access_token, access_token_secret)
    api = tweepy.API(auth,wait_on_rate_limit=True)
    #####United Airlines
    # Open/Create a file to append data
    csvFile = open('got5.txt', 'a')
    #Use csv Writer
    csvWriter = csv.writer(csvFile)

    for tweet in tweepy.Cursor(api.search,q="گات", count=5,
                       lang="fa",
                       since="2017-04-03").items():
csvWriter.writerow([tweet.created_at, tweet.text.encode('utf-8')])
print([tweet.created_at, tweet.text.encode('utf-8')])

结果:

    2019-07-11 17:09:17,b'@StingTIcon \xd8\xa8\xd8\xa7\xd8\xb2 \xd8\xa7\xdb\x8c\xd9\x86 \xd8\xae\xd9\x88\xd8\xa8\xd9\x87 =)))))) \xd8\xa7\xd9\x88\xd9\x86\xd8\xa7\xdb\x8c\xdb\x8c \xda\xa9\xd9\x87 \xd9\x85\xdb\x8c\xda\xaf\xd9\x85 \xd8\xaa\xd8\xa7\xd8\xa8\xd9\x84\xd9\x88\xd8\xaa\xd8\xb1\xdb\x8c\xd9\x86 \xd8\xb3\xd8\xb1\xdb\x8c\xd8\xa7\xd9\x84\xd8\xa7 \xd8\xb1\xd9\x88 \xda\xa9\xd9\x87 \xd9\x87\xd8\xb1 \xd8\xae\xd8\xb1\xdb\x8c \xd8\xa7\xd8\xb3\xd9\x85\xd8\xb4\xd9\x88 \xd8\xb4\xd9\x86\xdb\x8c\xd8\xaf\xd9\x87 \xd9\xbe\xdb\x8c\xd8\xb4\xd9\x86\xd9\x87\xd8\xa7\xd8\xaf \xd9\x85\xdb\x8c\xd8\xaf\xd9\x86. \xd9\x84\xd8\xa7\xd8\xb3\xd8\xaa\xd8\x8c \xd9\x81\xd8\xb1\xd8\xa7\xd8\xb1 \xd8\xa7\xd8\xb2 \xd8\xb2\xd9\x86\xd8\xaf\xd8\xa7\xd9\x86\xd8\x8c \xd8\xa8\xd8\xb1\xda\xa9\xdb\x8c\xd9\x86\xda\xaf \xd8\xa8\xd8\xaf\xd8\x8c \xda\xaf\xd8\xa7\xd8\xaa'

2019-07-11 16:39:40,b'@nik_yousefi \xd9\x81\xd8\xb5\xd9\x84 \xd8\xa2\xd8\xae\xd8\xb1\xd9\x88 \xd9\x86\xd9\x88\xdb\x8c\xd8\xb3\xd9\x86\xd8\xaf\xd9\x87 \xd9\x87\xd8\xa7\xdb\x8c \xda\xaf\xd8\xa7\xd8\xaa \xd9\x86\xd9\x88\xd8\xb4\xd8\xaa\xd9\x87 \xd8\xa8\xd9\x88\xd8\xaf\xd9\x86 \xd9\x81\xda\xa9\xd8\xb1 \xda\xa9\xd9\x86\xd9\x85 :))'

2019-07-11 15:54:40,b'@charbsho \xd9\x81\xda\xa9\xd8\xb1 \xda\xa9\xd8\xb1\xd8\xaf\xd9\x85 \xd8\xb9\xda\xa9\xd8\xb3\xdb\x8c \xda\x86\xdb\x8c\xd8\xb2\xdb\x8c \xd8\xa7\xd8\xb2 \xda\xaf\xd8\xa7\xd8\xaa \xda\xaf\xd8\xb0\xd8\xa7\xd8\xb4\xd8\xaa\xd9\x86 \xda\xa9\xd9\x87 \xd8\xb3\xd8\xb1 \xd9\x86\xd8\xaf \xd8\xa7\xd8\xb3\xd8\xaa\xd8\xa7\xd8\xb1\xda\xa9\xd9\x88 \xd8\xb2\xd8\xaf\xd9\x86=))))))))

任何人都可以告诉我如何做吗?

你可以这样转换:

string = b'@StingTIcon \xd8\xa8\xd8\xa7\xd8\xb2 \xd8\xa7\xdb\x8c\xd9\x86 \xd8\xae\xd9\x88\xd8\xa8\xd9\x87 =)))))) \xd8\xa7\xd9\x88\xd9\x86\xd8\xa7\xdb\x8c\xdb\x8c \xda\xa9\xd9\x87 \xd9\x85\xdb\x8c\xda\xaf\xd9\x85 \xd8\xaa\xd8\xa7\xd8\xa8\xd9\x84\xd9\x88\xd8\xaa\xd8\xb1\xdb\x8c\xd9\x86 \xd8\xb3\xd8\xb1\xdb\x8c\xd8\xa7\xd9\x84\xd8\xa7 \xd8\xb1\xd9\x88 \xda\xa9\xd9\x87 \xd9\x87\xd8\xb1 \xd8\xae\xd8\xb1\xdb\x8c \xd8\xa7\xd8\xb3\xd9\x85\xd8\xb4\xd9\x88 \xd8\xb4\xd9\x86\xdb\x8c\xd8\xaf\xd9\x87 \xd9\xbe\xdb\x8c\xd8\xb4\xd9\x86\xd9\x87\xd8\xa7\xd8\xaf \xd9\x85\xdb\x8c\xd8\xaf\xd9\x86. \xd9\x84\xd8\xa7\xd8\xb3\xd8\xaa\xd8\x8c \xd9\x81\xd8\xb1\xd8\xa7\xd8\xb1 \xd8\xa7\xd8\xb2 \xd8\xb2\xd9\x86\xd8\xaf\xd8\xa7\xd9\x86\xd8\x8c \xd8\xa8\xd8\xb1\xda\xa9\xdb\x8c\xd9\x86\xda\xaf \xd8\xa8\xd8\xaf\xd8\x8c \xda\xaf\xd8\xa7\xd8\xaa'
result = string.decode('unicode-escape').encode('latin1').decode('utf-8')

输出:

@StingTIcon باز این خوبه =)))))) اونایی که میگم تابلوترین سریالا رو که هر خری اسمشو شنیده پیشنهاد میدن. لاست، فرار از زندان، برکینگ بد، گات