python - 如何通过python获取实时推文时定义输出推文的稳定形式

标签 python twitter tweepy tweetstream

我的代码用于通过PythonTweepy包获取实时推文。我只想获取推文的创建日期和内容,所以我定义如下

 def on_status(self, status):
    tweet_text = status.text
    tweet_created_date = str(status.created_at)
    tweet_data = {'Created_at':tweet_created_date,'Text':tweet_text}
    self.num_tweets += 1
    if self.num_tweets < 10001:
        with open('data.txt','a') as tf:
            #tf.write(tweet_data + '\n')
            tf.write(format(tweet_data) + '\n')
        return True
    else:
        return False

但输出并未准确显示“Created_at:....., Text.....”。当创建日期改变时它也会改变。

{'Text': 'RT @owen_author: Tiger Lily of Bangkok: a serial killer is on the loose in #BKK NaNoWriMo winner #Bangkoknoir #thri…', 'Created_at': '2017-06-01 22:18:28'}
{'Text': 'RT @MidwestBG: #NP Silent Stranger @SilentStranger6 - Bangkok by Night (Alternate Mix) on @MidwestBG', 'Created_at': '2017-06-01 22:18:38'}
{'Text': 'RT @IronWavesRadio: #NP Silent Stranger @SilentStranger6 - Bangkok by Night (Alternate Mix) on @IronWavesRadio', 'Created_at': '2017-06-01 22:18:42'}
{'Created_at': '2017-06-02 02:34:31', 'Text': '"RT @EXOXIUMINMAMA: 17.06.10\n2017 BANGKOK SUPER LIVE  \n#2017bkksuperlive \n\n#XIU의미소가우리에겐최고! \nXIUMIN's Smile is the BEST! \n\nรายละเอียด\n📌… "'}
{'Created_at': '2017-06-02 02:34:39', 'Text': '(w1-59)Stamps,Thailand stamps,MNH,wild animals,art,minerals #thailand #bangkok'}
{'Created_at': '2017-06-02 02:34:42', 'Text': 'RT @joeybirlem: reacting to cringey musicallys youtube video out tomorrow! bangkok vlog out on friday😊 be readyyyyyyy'}

那么我怎样才能解决这个问题,全天的所有推文都以 1 种形式显示“Created_at:....., Text.....”。
我很初学者,所以我需要你的帮助。

非常感谢。

最佳答案

您正在使用 dict(字典)类型来存储推文 (tweet_data)。 Python 的字典不维护存储字段的顺序。因此,您会看到一些实例带有 {'Text': ..., 'Created_at': ...} 而其他实例则带有 {'Created_at': ..., 'Text': ...}.

如果想保持字段的顺序,可以使用 OrderedDict类型:

tweet_data = OrderedDict([('Created_at', tweet_created_date), ('Text', tweet_text)])

关于python - 如何通过python获取实时推文时定义输出推文的稳定形式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44362656/

相关文章:

python - Python 中已编译的正则表达式列表

python - 查找 Python 中的哈希是否只有 None 值

twitter - 如何设置 hello.js 以访问 Twitter?

ios - iOS的社交身份验证和发布库

node.js - Twitter api 回复推文

python - str.startswith 是如何真正起作用的?

python - ffi 使用 group by 并匹配条件

python - 类型错误 : 'str' object is not callable when insert tweet data to mysql Python 3

python - 如果出错,如何重新启动 tweepy 脚本?

python - 为什么要对单词进行标记/预处理以进行语言分析?