使用推文的rest_api不会转储到python中的文件中

2022-01-21 00:00:00 python python-3.x python-2.7 json dataset

问题描述

根据这段代码,一个文件应该包含 5000 条推文.但是没有任何东西进入文件并显示 json 序列化错误.

according to this code a file should be with 5000 tweets in this. But nothing is going into file and shows json serialization error.

这里是代码

alltweet=[]
def rest_query_ex3():
    MAX_ID = None
    query = "(disease OR illness OR sickness)"
    file=open("tweetfile.txt", "a+")
    for it in range(50):
     tweets = myApi.search(q=query, count=100, max_id=MAX_ID)
     if tweets:
         MAX_ID = tweets[-1].id
         alltweet.extend(tweets)
    for tweet in alltweet:
        s=[tweet.text, tweet.id]
        file.write(json.dumps(s))
    file.close()


解决方案

alltweet=[]

def rest_query_ex3():
    MAX_ID = None
    geo = "42.6525,-73.7572,200mi"
    query = "(disease)"
    file =open("tweetfile.txt", "a+")
    for it in range(1):
     tweets = myApi.search(q=query, geocode=geo, count=5, max_id=MAX_ID)
     if tweets:
         MAX_ID = tweets[-1].id
         alltweet.extend(tweets)
         #print type(alltweet)   #this is list type object
    for tweet in alltweet:
        file.write(json.dumps(tweet._json)) 
#converting into string remove sthe serializable error without adding a new class
        file.write('

')
if __name__ == '__main__':
    rest_query_ex3()

相关文章