Python中的tweet

Python中的tweet,python,search,twitter,tweets,Python,Search,Twitter,Tweets,最后一行返回一个错误,即'NoneType'对象没有属性\uuu getitem\uuu这里有两个问题: return语句位于for循环内,如果循环首先命中其中一个break语句,则可能无法到达该语句。如果到达,它将比您想要的更早返回,而不运行其余的循环迭代 您假设results将至少有一个元素(results[0])。如果结果为空列表,则索引器将导致此操作失败 解决方案: 将return语句移到for循环之外(dedent一级) 如果结果:,请在索引到它之前检查 问题是q没有趋势:S q='

最后一行返回一个错误,即
'NoneType'对象没有属性\uuu getitem\uuu

这里有两个问题:

  • return
    语句位于for循环内,如果循环首先命中其中一个
    break
    语句,则可能无法到达该语句。如果到达,它将比您想要的更早返回,而不运行其余的循环迭代

  • 您假设
    results
    将至少有一个元素(
    results[0]
    )。如果结果为空列表,则索引器将导致此操作失败

  • 解决方案:

  • return
    语句移到for循环之外(dedent一级)

  • 如果结果:,请在索引到它之前检查


  • 问题是q没有趋势:S

    q='#vladimirala1'
    计数=100
    search\u results=twitter\u api.search.tweets(q=q,count=count)
    statuses=搜索结果['statuses']
    对于范围(5)内的uu:
    打印“状态长度”,len(状态)
    尝试:
    下一个搜索结果=搜索结果['search\u metadata']['next\u results']
    除KeyError外,e:#没有mas结果也没有mas数据
    打破
    kwargs=dict([kv.split('='))表示下一个_结果中的kv[1:].split('&'))
    搜索结果=推特api.search.tweets(**kwargs)
    状态+=搜索结果['statuses']
    
    打印json.dumps(状态[0],缩进=1)
    看起来像
    结果为无
    。你做了什么来找出原因呢?我试着阅读更多关于错误的信息。有些人说结果不能被索引。我很困惑。例如,您没有打印结果来找出它是什么?提示:如果您将
    循环中中断
    ,将返回什么?这是我做的第一件事,它没有返回任何结果。
    
    def twitter_search(twitter_api,q,max_results=200,**kw):    
        search_results = twitter_api.search.tweets(q=q,count=100,**kw)
        statuses = search_results['statuses']
        max_results=min(1000,max_results)
        for _ in range(10):
            try:
                next_results = search_results['search_metadata']['next_results']
            except KeyError, e:
                break
            kwargs = dict([ kv.split('=')
                    for kv in next_results[1:].split("&") ])
            search_results = twitter_api.search.tweets(**kwargs)    
            statuses += search_results['statuses']
            if len(statuses) > max_results:
                break
            return statuses
    
    
    results = twitter_search(twitter_api,q,max_results=10)
    print json.dumps(results[0], indent =1)