Я нуб-питон (работаю с ним менее нескольких часов). Я пытаюсь прочитать данные в Твиттере и сохранить их в базе данных Монго, но получаю следующую ошибку:
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()
Я уверен, что это ОЧЕНЬ простое исправление, надеюсь, вы, ребята, можете помочь. Спасибо!