2016-06-22 3 views
-1

Я возился с использованием Twitter Search API, я закодировал код, как это с помощью requestsTypeError: строковые индексы должны быть целыми числами Поиск API Twitter

 

    import requests 
    from requests_oauthlib import OAuth1 
    url = "https://api.twitter.com/1.1/account/verify_credentials.json" 
    auth = OAuth1('redacted', 'redacted','redacted', 'redacted') 
    requests.get(url, auth=auth) 
    r = requests.get("https://api.twitter.com/1.1/search/tweets.json?q=%40twitterapi", auth=auth) 
    print r.json() 

Выходной сигнал этого я Get Some JSON Blobs, который содержит информацию я хотел бы получить доступ к text части данных JSON для этого я использовал следующий код

for tweet in r.json(): 
    print tweet['text'] 

сообщение об ошибке TypeError: string indices must be integers. Я вертел все больше и использовал этот код

for tweet in r.json(): 
    print tweet 

Это дало мне выход search_metadata & statuses. Итак, как мне печатать только твиты, которые в настоящее время дают мне TypeError. Помощь была бы оценена :(

+0

Вы берете индекс строки с 'tweet ['text']'. Индексы строк принимают индекс int, а не строку – Li357

+0

@AndrewL. Я понял это, и он работает так же, как твит ['text'], я отвечу на свой вопрос, подождите –

ответ

0

Я понял, где я ошибся. С некоторыми комментариями, в которых говорилось, что индексы должны быть целыми, но для запроса какого-либо конкретного JSON, имеющего text, мне нужен соответствующий контекст кода.

решение этой проблемы является

for tweet in r.json()['statuses']: 
     print tweet['text'] 

Я не знаю, кто downvoted, но серьезно, если вы не можете ответить, чем downvoting не имеет смысла .. если вы знаете, что я имею в виду .Cheers, любые другое простое решение будет оценено

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