我正在尝试收集波斯语推文并进行文本分析。我用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=))))))))
有人能给我关于如何做的见解吗?
答案 0 :(得分:1)
您可以这样转换:
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 باز این خوبه =)))))) اونایی که میگم تابلوترین سریالا رو که هر خری اسمشو شنیده پیشنهاد میدن. لاست، فرار از زندان، برکینگ بد، گات