我想从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)
需要在此处做些什么的建议 谢谢!
答案 0 :(得分:2)
知道了 因为您的光标不会返回JSON。它返回tweepy.models.Status模型的实例。它显然不能被解析为JSON。
要从模型中获取解析的JSON,您可以使用
tweet._json