2017-02-22 12 views
1

根據這段代碼,一個文件應該在這裏有5000個tweets。但沒有任何內容會進入文件並顯示json序列化錯誤。rest_api使用tweets不會轉儲到python中的文件

這裏是代碼

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() 
+0

發佈完整的錯誤 –

+0

回溯(最近通話最後一個): 文件 「E:/datamining/hw3/datafetch.py​​」,行40在 rest_query_ex3() 文件 「E:/datamining/hw3/datafetch.py​​」,第36行,在rest_query_ex3 file.write(json.dumps(鳴叫)) 文件「C:\ Python27 \ lib中\ JSON \ __ init__.py「,第244行,轉儲s return _default_encoder.encode(obj) 文件「C:\ Python27 \ lib \ json \ encoder.py」,行207,編碼爲 chunks = self.iterencode(o,_one_shot = True) 文件「C:\ Python27 \ lib \ json \ encoder.py「,第270行,在iterencode return _iterencode(o,0) – pk786

+0

其餘的錯誤ID在這裏 – pk786

回答

0
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(str(tweet))) 
#converting into string remove sthe serializable error without adding a new class 
     file.write('\n\n') 
if __name__ == '__main__': 
    rest_query_ex3() 
0
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('\n\n') 
if __name__ == '__main__': 
    rest_query_ex3() 
相關問題