在python中收集阿拉伯语的推文

时间:2018-02-22 13:50:42

标签: 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('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:

如果您将其视为字节,您将能够以原始语言处理它,尝试pringing并且它可以正常工作>

2 个答案:

答案 0 :(得分:0)

twitter返回有关推文语言的信息,检查' lang' 参数,并通过响应[' lang'] ==&过滤推文#39; ar' ,其中' ar' 表示阿拉伯语

答案 1 :(得分:0)

包括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)