没有提取Twitter用户的样本

时间:2013-10-25 02:19:36

标签: python twitter twitter-oauth twython

我正在做一个项目,我需要相当少量的随机Twitter用户(现在大约20个),他们的粉丝数量几乎相同(例如45000 - 55000之内)。我刷新了我的Python,设置了Twython,并进行了一些测试运行并成功查询了Twitter API以获取用户关注者列表等。

然后我试图随机搜索用户。我认为我只会搜索用户(q =“”),循环浏览它们,并在达到20个唯一用户的目标时停止。

但是,我遇到一个错误,说“Twitter API返回403(禁止访问),Tour凭据不允许访问此资源。”当四处寻找问题时,它似乎与身份验证没有用户上下文有关。

下面是我的示例代码,告诉我是否提取姓名,但我有几个问题:

  1. 在Oauth 1和2中有什么区别(在Twitter的背景下)?
  2. 对于不想开发应用程序但只是提取一些数据的人,我为什么需要用户上下文?我不会代表任何人发布任何内容!
  3. 如何解决问题(或者有更好的方法)?
  4. 谢谢!

    from twython import Twython
    
    APP_KEY = 'redacted'
    APP_SECRET = 'redacted'
    
    twitter = Twython(APP_KEY, APP_SECRET, oauth_version=2)
    ACCESS_TOKEN = twitter.obtain_access_token()
    
    twitter = Twython(APP_KEY,access_token=ACCESS_TOKEN)
    
    print "hello twitterQuery\n"
    
    search = twitter.search_users(q=' ')
    
    for user in search['ids']:
    print twitter.show_user(user_id=user)['screen_name']
    
    print "\ndone"
    

1 个答案:

答案 0 :(得分:0)

我无法回答你所问的一切,但我会在这里尝试: -

  1. 在Twitter中的OAuth1中,访问代码是终生的,即永不过期。在OAuth2中,有一些刷新代码,用于新的访问代码,在之前的访问代码到期之后。还有许多其他差异,但这是在Twitter环境中真正引起我注意的。您可以查看这些链接以获取更多详细信息。
  2. How is OAuth 2 different from OAuth 1?

    http://hueniverse.com/2010/05/introducing-oauth-2-0/

    http://net.tutsplus.com/tutorials/oauth-2-0-the-good-the-bad-the-ugly/

    1. 我想,这只是Twitter试图更加安全。我想不出任何其他原因。

    2. 我不知道某个解决方案,但也许作为workaround,您可以尝试从一些热门帐户的关注者列表中收集用户,例如Twitter的官方帐户。您将获得广泛的用户选择。只需检索列表并从中选择随机用户。