2015-08-25 2 views
0

Я пытаюсь получить идентификатор исходного твита, который был изменен (см. Документы: http://dev.datasift.com/docs/sources/public-sources/twitter), используя twittersearch api с небольшим результатом. Я хочу использовать поиск щебета, чтобы получить конкретно: twitter.retweeted.idPython: используя twittersearch api, чтобы получить 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

нашел:

должно быть:

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 

Таким образом, вы просто должны написать отдельная петля для t weet

Смежные вопросы