Twitter API用户时间线python代码不以JSON格式写入文件

时间:2017-12-29 09:06:38

标签: python json twitter tweepy

关注this SO post我有这个代码,我使用pythons tweepy库来阅读tweets用户 - user_timeline。我正在将输出写入text file但是当我尝试阅读text file时,我得到json read error。这是我目前的代码:

import tweepy
import json
import unicodedata

# Consumer keys and access tokens, used for OAuth
access_token = ""
access_token_secret = ""
consumer_key = ""
consumer_secret = ""  

def read_user_timeline():
    # OAuth process, using the keys and tokens
    auth = tweepy.OAuthHandler(consumer_key, consumer_secret)
    auth.set_access_token(access_token, access_token_secret)

    # Creation of the actual interface, using authentication
    api = tweepy.API(auth)

    for status in tweepy.Cursor(api.user_timeline, screen_name='@BillGates').items():

        with open('feed1.txt', 'a',encoding='utf-8') as f:

            print(status._json, file=f)

# A sample function to read the json tweets from the file
def read_tweets(tweets_data_path):

    tweets_file = open(tweets_data_path, "r",encoding='utf-8')
    for line in tweets_file:

        tweet = json.loads(line)
        print(tweet)


if __name__ == '__main__':

    read_user_timeline()
    read_tweets('feed1.txt')

当我运行上面的代码时,我在第json.decoder.JSONDecodeError: Expecting property name enclosed in double quotes: line 1 column 2 (char 1)行收到错误:tweet = json.loads(line)

我想要做的是将每个tweet数据作为json格式写入文件,然后通读text file并过滤各个组件(例如{{ 1}},text等等)进行进一步处理。在我的理解中,问题似乎在我的写文件代码中,因为它可能不是以created_at格式写入文件,但我无法找到正确的方法。什么是错误,如何纠正?

更新:文本文件中的示例json

line

0 个答案:

没有答案