【发布时间】:2017-11-30 15:18:12
【问题描述】:
我在一系列usernames 中有以下代码extract ids 并附加到名为new_followers_df 的熊猫数据框:
twitter_handles = ["x", "y"]
## Import New Twitter Followers
new_follower_ids = []
handles = []
for user in twitter_handles:
while True:
try:
for page in tweepy.Cursor(api.followers_ids, screen_name= user).pages():
new_follower_ids.extend(page)
for ids in page:
handles.append(user)
except tweepy.TweepError:
time.sleep(60 * 15)
continue
except StopIteration:
pass
break
new_followers_df = pd.DataFrame({
"Handles": handles,
"Follower_ID": new_follower_ids})
如果user x 有75,000 users 和user y 另一个75,000 我计算出我应该需要30 minutes 才能刮掉所有user X and Y's followers。
这是因为 API 的限制为 5000 ids per Cursor、15 calls per session 和 15 minute wait in between。
但是,由于某种原因,脚本需要更长的时间才能完成。知道我的 for 循环是否有问题吗?有没有可能与:StopIteration有关?
谢谢
【问题讨论】:
标签: python pandas for-loop twitter tweepy