我正在尝试使用bitly-api-python library来缩短数组中的所有url。
def bitly3_shorten_oauth(url):
c = bitly3.Connection(access_token= bitly_access_token)
sh = c.shorten(url)
return sh['url']
for i in arr:
print i[1] , bitly3_shorten_oauth(i[1])
我一个接一个地打电话给他们没有任何超时,因为我在best practices documentation of bitly找不到任何这样的预防措施。
这是我的完整代码,请看看:http://pastie.org/8419004
但正在发生的是它缩短了2个或3个网址,然后进入连接超时错误
可能导致此错误的原因以及如何调试它?
从您链接的文档:
bitly currently institutes per-hour, per-minute,
and per-IP rate limits for each API method
和
High-Volume Shorten Requests
If you need to shorten a large number of URLs at once, we recommend that
you leave ample time to spread these requests out over many hours. Our API
rate limits reset hourly, and rate limited batch requests can be resumed at
the top of the hour.
所以看起来你只需要减慢代码速度。
如果有人发现这个过时的帖子作为起点,请注意Bit.ly API现在拒绝非OAuth API密钥。
在python中使用curl获取API密钥:
curl -u "username:password" -X POST "https://api-ssl.bitly.com/oauth/access_token"
截至2019年,有bitlyshortener
包,虽然它只适用于Python≥3.7。我没有遇到任何使用它的错误。