2013-05-21 66 views
0

我有一个Python 3.3脚本,调用Twitter API函数/followers/ids。 (我使用这个库:https://pypi.python.org/pypi/twitterTwitter API Python脚本“未经授权”

由于Twitter的速率限制,脚本需要很多天才能运行(15个电话,然后15分钟暂停,...)。

在我的本地测试中,脚本工作正常,但是当我让它在Amazon AWS小实例上运行时,经过半天左右,Twitter总是开始返回“状态401:未授权”。这可能是什么原因?我不知道什么可能会导致我的本地机器和亚马逊服务器上的不同行为?我也没有从Python获得任何其他错误。

编辑:其实我的电脑和亚马逊服务器之间没有区别。它注意到它发生在两者上。

回答

0

401: Not Authorized消息很可能意味着尽管您努力保持在速率限制范围内,但Twitter现在阻止您的AWS实例访问其API。不同的行为可能是由于不同的源IP - 本地连接与Amazon AWS IP。

+0

其实它现在也发生在本地。脚本运行大约半天(15个请求 - > 15分钟暂停,...),然后Twitter开始返回401状态。如果我重新启动脚本,它会再次运行。这不奇怪吗? 我需要脚本可以运行至少一个月左右。难道他们不再喜欢我的账户了吗? :)在我的实验过程中,我碰到了很多速率限制。但目前的脚本遵守限制,并没有遇到它们。 – horace

0

401: Not Authorized消息通常意味着/followers/ids调用的目标帐户是受保护的。更详细地说,账户的所有者已经建立了自己的账户,只允许其追随者访问完整的个人资料信息。欲了解更多信息,请查阅官方Twitter文档的public and protected tweetsprofile visibility settings