Query regarding pagination in tweepy (get_followers) of a particular twitter user

前端 未结 1 2018
面向向阳花
面向向阳花 2021-02-06 14:47

I am fairly new to tweepy and pagination using the cursor class. I have been trying to user the cursor class to get all the followers of a particular twitter user but I keep get

相关标签:
1条回答
  • 2021-02-06 15:30

    There is a handy method called followers_ids. It returns up to 5000 followers (twitter api limit) ids for the given screen_name (or id, user_id or cursor).

    Then, you can paginate these results manually in python and call lookup_users for every chunk. As long as lookup_users can handle only 100 user ids at a time (twitter api limit), it's pretty logical to set chunk size to 100.

    Here's the code (pagination part was taken from here):

    import itertools
    import tweepy
    
    
    def paginate(iterable, page_size):
        while True:
            i1, i2 = itertools.tee(iterable)
            iterable, page = (itertools.islice(i1, page_size, None),
                    list(itertools.islice(i2, page_size)))
            if len(page) == 0:
                break
            yield page
    
    
    auth = tweepy.OAuthHandler(<consumer_key>, <consumer_secret>)
    auth.set_access_token(<key>, <secret>)
    
    api = tweepy.API(auth)
    
    followers = api.followers_ids(screen_name='gvanrossum')
    
    for page in paginate(followers, 100):
        results = api.lookup_users(user_ids=page)
        for result in results:
            print result.screen_name
    

    Hope that helps.

    0 讨论(0)
提交回复
热议问题