2016-06-22 17 views
-1

Ich habe mit Twitter Search API Hantieren, ich habe einen Code wie folgt requestsTypeerror: String-Indizes müssen ganze Zahlen sein API Twitter Suche

 

    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() 

Der Ausgang dieses i Einige JSON Blobs Erhalten Sie mit codiert die Informationen enthält, ich wollte, dass text Teil der JSON-Daten für den Zugriff auf i den folgenden Code

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

die Fehlermeldung TypeError: string indices must be integers verwendet. Ich fummelte mehr und verwendet diesen Code

for tweet in r.json(): 
    print tweet 

Das gab mir Ausgang search_metadata & statuses. Also wie drucke ich nur Tweets die mir aktuell TypeError gibt. Hilfe würde geschätzt werden :(

+0

Sie nehmen einen Index der Saite mit 'tweet ['text']' '. String-Indizes nehmen einen int-Index, keine Zeichenfolge – Li357

+0

@AndrewL. Ich habe es herausgefunden und es funktioniert auf die gleiche Art und Weise tweet ['text'] nur, ich werde auf meine eigene Frage warten –

Antwort

0

Ich fand es heraus, wo ich Fehler machte, mit einigen Kommentaren da draußen sagen, dass Indizes in Integer sein müssen, aber um JSON text der Code-Kontext von mir war angemessen.

Die Lösung hierfür ist

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

ich weiß nicht, wer downvoted, aber ernst, wenn Sie nicht beantworten können, als downvoting macht keinen Sinn .. wenn Sie wissen, was ich .Cheers bedeuten, alle eine andere einfache Lösung wäre zu begrüßen

Verwandte Themen