我正在尝试使用twittersearch api获得转发的原始推文的ID(请参阅文档:http://dev.datasift.com/docs/sources/public-sources/twitter)。我想使用twitter搜索专门获取:twitter.retweeted.id
这是我的代码:
import datetime
import csv
import itertools as it
import codecs
tweet_text_id = []
from TwitterSearch import TwitterSearchOrder, TwitterUserOrder, TwitterSearchException, TwitterSearch
try:
tso = TwitterSearchOrder()
tso.set_keywords([""])
tso.set_language('')
tso.set_include_entities(True)
ts = TwitterSearch(
consumer_key = "aaa",
consumer_secret = "bbb",
access_token = "ccc",
access_token_secret = "dddd"
)
for tweet in ts.search_tweets_iterable(tso):
tweet_text_id.append({'id':tweet['id'], 'text': tweet['text'].encode('utf8'), 'retweeted' : tweet ['retweeted']['id']})
for i in tweet_text_id:
print(i)
except TwitterSearchException as e:
print(e)
我收到以下错误:
TypeError: 'bool' object has no attribute '__getitem__'
我也尝试过:
tweet_text_id.append({'id':tweet['id'], 'text': tweet['text'].encode('utf8'), 'retweeted' : tweet['retweeted'_'id']})
和:
tweet_text_id.append({'id':tweet['id'], 'text': tweet['text'].encode('utf8'), 'retweeted' : retweeted['id']})
无论如何通过twittersearch得到这个?如果没有:有经验的人如何通过twython检索它?
谢谢!
答案 0 :(得分:0)
它应该是:
for retweeted in ts.search_tweets_iterable(tso):
tweet_text_id.append({'retweeted' : retweeted['id']})
这样做:
for retweeted, tweet in ts.search_tweets_iterable(tso):
tweet_text_id.append({'id':tweet['id'], 'text': tweet['text'].encode('utf8'), 'retweeted' : tweet ['retweeted']['id']})
导致此错误:
ValueError: too many values to unpack
所以你只需为tweet写一个单独的循环