普遍设置tweepy useragent?

时间:2012-09-19 04:29:59

标签: python twitter tweepy

我已经玩了一段时间了,但我一直有速度限制问题,得到429个错误。我知道您可以在单个调用上设置标题,如

api.get_user('twitter', headers={'User-Agent': 'MyUserAgent'})

但有没有办法在一个地方设置标题而不必在每次api调用时都这样做?

1 个答案:

答案 0 :(得分:2)

Hacky方式:

import functools
class NewAPI(object):
    def __init__(self, api):
        self.api = api
    def __getattr__(self, key):
        call = getattr(self.api, key)
        @functools.wraps(call)
        def wrapped_call(*args, **kwargs):
            headers = kwargs.pop('headers', {})
            headers['User-Agent'] = 'MyUserAgent' # or make this a class variable/instance variable
            kwargs['headers'] = headers
            return call(*args, **kwargs)
        return wrapped_call

api = NewAPI(api)
print(api.get_user('twitter'))

免责声明:未经测试,因为我没有发布。