我是一个python noob(使用它少于几个小时)。我想在Twitter上读取数据并将其存储在一个数据库蒙戈,但我收到以下错误:如何在python中添加数据到mongoDB
Traceback (most recent call last):
File "twit_test.py", line 8, in on_receive
db.posts.insert(data)
File "/Library/Python/2.6/site-packages/pymongo-2.0.1-py2.6-macosx-10.6-universal.egg/pymongo/collection.py", line 274, in insert
File "/Library/Python/2.6/site-packages/pymongo-2.0.1-py2.6-macosx-10.6-universal.egg/pymongo/database.py", line 249, in _fix_incoming
File "/Library/Python/2.6/site-packages/pymongo-2.0.1-py2.6-macosx-10.6-universal.egg/pymongo/son_manipulator.py", line 73, in transform_incoming
TypeError: 'str' object does not support item assignment
Traceback (most recent call last):
File "twit_test.py", line 17, in <module>
conn.perform()
我的代码是非常简单的:
import pycurl, json
import pymongo
STREAM_URL = "https://stream.twitter.com/1/statuses/sample.json"
USER = "XXXXXXXX"
PASS = "XXXXXXXX"
def on_tweet(data):
tweet = json.loads(data)
db.posts.insert(tweet)
from pymongo import Connection
connection = Connection()
db = connection.test
conn = pycurl.Curl()
conn.setopt(pycurl.USERPWD, "%s:%s" % (USER, PASS))
conn.setopt(pycurl.URL, STREAM_URL)
conn.setopt(pycurl.WRITEFUNCTION, on_tweet)
conn.perform()
我敢肯定,这是一个非常简单的修复,希望你们可以提供帮助。谢谢!
对不起,我没跟着。我是否只使用on_tweet函数来代替on_receive函数?我试过以上所有的代码,但都没有工作..... – WildBill