首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用Python搜索Tweets

用Python搜索Tweets
EN

Stack Overflow用户
提问于 2014-07-09 08:04:14
回答 2查看 559关注 0票数 1

请看以下代码:

代码语言:javascript
复制
q = '#MentionSomeoneImportantForYou'

count = 100

search_results = twitter_api.search.tweets(q=q, count=count)

#twitter_api是预定义的,工作正常。

代码语言:javascript
复制
statuses = search_results['statuses']

for _ in range(5):
   print "Length of statuses", len(statuses)
   try:
       next_results = search_results['search_metadata']['next_results']
   except KeyError, e: # No more results when next_results doesn't exist
       break

kwargs = dict([ kv.split('=') for kv in next_results[1:].split("&") ])

最后一个代码抛出一个“next_results”未定义的错误。

我在这件事上哪里出错了?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-07-09 08:27:05

我真的不明白你为什么要

代码语言:javascript
复制
next_results = search_results['search_metadata']['next_results']

而这一行将在5次内返回相同的结果?

Anw,"next_results“没有定义,这意味着上面的线甚至一次都没有到达。

怎么样

代码语言:javascript
复制
print search_results['search_metadata']

要确切地了解API的响应如何?

票数 0
EN

Stack Overflow用户

发布于 2019-05-06 08:01:12

这个代码工作得很好!

代码语言:javascript
复制
# Import unquote to prevent url encoding errors in next_results
from urllib.parse import unquote


q='#Ethiopia'


count = 100

# See https://dev.twitter.com/docs/api/1.1/get/search/tweets

search_results = twitter_api.search.tweets(q=q, count=count)

statuses = search_results['statuses']

# Iterate through 5 more batches of results by following the cursor
print(search_results['search_metadata'])
for _ in range(5):
    print("Length of statuses", len(statuses))

    try:
        #print(search_results['search_metadata'])
        next_results = search_results['search_metadata']['next_results']

    except KeyError: # No more results when next_results doesn't exist
        break

    # Create a dictionary from next_results, which has the following form:
    # ?max_id=313519052523986943&q=NCAA&include_entities=1
    kwargs = dict([ kv.split('=') for kv in unquote(next_results[1:]).split("&") ])

    search_results = twitter_api.search.tweets(**kwargs)
    statuses += search_results['statuses']

# Show one sample search result by slicing the list...
print(json.dumps(statuses[0], indent=1))
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24648358

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档