python – 查询特定Twitter用户的tweepy(get_followers)中的分页
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了python – 查询特定Twitter用户的tweepy(get_followers)中的分页,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1770字,纯文字阅读大概需要3分钟。
内容图文
我对使用游标类的tweepy和分页相当新.我一直在尝试使用游标类来获取特定Twitter用户的所有关注者,但我不断收到错误,其中显示“tweepy.error.TweepError:此方法不执行分页”
因此,我真的很感激任何帮助,如果有人可以帮助我实现这个任务,使用tweepy获取特定Twitter用户的所有追随者的分页.我到目前为止的代码如下:
import tweepy
consumer_key='xyz'
consumer_secret='xyz'
access_token='abc'
access_token_secret='def'
auth = tweepy.OAuthHandler(consumer_key, consumer_secret)
auth.set_access_token(access_token, access_token_secret)
api = tweepy.API(auth)
user = api.get_user('somehandle')
print user.name
followers = tweepy.Cursor(user.followers)
temp=[]
for user in followers.items():
temp.append(user)
print temp
#the following part works fine but that is without pagination so I will be able to retrieve at #most 100 followers
aDict = user.followers()
for friend in aDict:
friendDict = friend.__getstate__()
print friendDict['screen_name']
解决方法:
有一个方便的方法叫做followers_ids.对于给定的screen_name(或id,user_id或cursor),它最多返回5000个关注者(twitter api limit)id.
然后,您可以在python中手动分页这些结果,并为每个块调用lookup_users.只要lookup_users一次只能处理100个用户ID(twitter api limit),将块大小设置为100就是合乎逻辑的.
这是代码(分页部分取自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
希望有所帮助.
内容总结
以上是互联网集市为您收集整理的python – 查询特定Twitter用户的tweepy(get_followers)中的分页全部内容,希望文章能够帮你解决python – 查询特定Twitter用户的tweepy(get_followers)中的分页所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。