如何将tweepy搜索结果转换为JSON表单

时间:2016-07-06 08:52:59

标签: python json mongodb twitter

我想从twitter获取推文并保存到我想要将结果转换为JSON的MongoDB数据库。
这是我的代码

import tweepy
import json
import pymongo
from pymongo import MongoClient
client=MongoClient()
db=client.scholarship

APP_KEY = app key here
APP_SECRET = app secret here
OAUTH_TOKEN = access-token here
OAUTH_TOKEN_SECRET = token secret here

auth=tweepy.OAuthHandler(APP_KEY,APP_SECRET)
auth.set_access_token(OAUTH_TOKEN,OAUTH_TOKEN_SECRET)

api=tweepy.API(auth)

for tweet in tweepy.Cursor(api.search,q="scholarship",count=100,result_type="recent",include_entities=True,lang="en").items():
    tweet=json.dumps(tweet) 
    try: 
        db.daily.insert(tweet)
    except Exception as e:
        print "there is a problem ",e
    else:
        print "inserted"

我收到错误 提出TypeError(repr(o)+“不是JSON可序列化的”)

serach的返回类型的原因是形式
(贡献者=无,截断=假,文本= u'RT @AnwenAb:@OralRobertsU 2016 MedPro Rx Inc \ ufffdEducation是Power \ ufffd奖学金申请截止日期2016年6月1日',is_quote_status = False)

需要在此处做些什么的建议 谢谢!

1 个答案:

答案 0 :(得分:2)

知道了 因为您的光标不会返回JSON。它返回tweepy.models.Status模型的实例。它显然不能被解析为JSON。

要从模型中获取解析的JSON,您可以使用

tweet._json