0

我正在做一个项目,我需要相当少量的随机 Twitter 用户(现在大约 20 个)和几乎相同数量的追随者(例如,在 45000 - 55000 之间)。我复习了我的 Python,设置了 Twython,并进行了一些测试运行,并成功地在 Twitter API 中查询了用户关注者列表等。

然后我尝试随机搜索用户。我以为我会只搜索 (q = " ") 的用户,遍历它们,并在达到我的 20 个唯一用户的目标时停止。

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

下面是我的示例代码,用于判断我是否在提取名称,但我有几个问题:

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

谢谢!

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"
4

1 回答 1

0

我无法真正回答您提出的所有问题,但我会在这里尝试:-

  1. 在 twitter 的 OAuth1 中,访问代码是终身的,即永远不会过期。在 OAuth2 中,有刷新代码,用于新的访问代码,在以前的代码过期后。还有许多其他差异,但这是在 Twitter 环境中真正让我印象深刻的地方。您可以查看这些链接以获取更多详细信息。

OAuth 2 与 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 的官方帐户。您将获得广泛的用户可供选择。只需检索列表并从中选择随机用户。

于 2014-01-17T13:00:46.577 回答