使用 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 باز این خوبه =)))))) اونایی که میگم تابلوترین سریالا رو که هر خری اسمشو شنیده پیشنهاد میدن. لاست، فرار از زندان، برکینگ بد، گات
我正在尝试收集波斯语的推文并进行文本分析。我用 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 باز این خوبه =)))))) اونایی که میگم تابلوترین سریالا رو که هر خری اسمشو شنیده پیشنهاد میدن. لاست، فرار از زندان، برکینگ بد، گات