我有以下for loop
:
for user_id in new_followers:
try:
t.direct_messages.new(user_id=user_id, text="Thanks for following. Etc etc etc")
print("Sent DM to %d" % (user_id))
followers_old.add(user_id)
为了避免API限制,我想在每次发送100条直接消息时暂停循环600秒。
最好的方法是什么?
答案 0 :(得分:3)
你可以试试这个:
for i, user_id in enumerate(new_followers):
try:
t.direct_messages.new(user_id=user_id, text="Thanks for following. Etc etc etc")
print("Sent DM to %d" % (user_id))
followers_old.add(user_id)
if (i+1)%100 == 0:
time.sleep(x) # here x in milisecond
答案 1 :(得分:1)
你可以这样做:
import time
count = 0
for user_id in new_followers:
count +=1
if count == 100:
count = 0
time.sleep(600)
try:
t.direct_messages.new(user_id=user_id, text="Thanks for following. Etc etc etc")
print("Sent DM to %d" % (user_id))
followers_old.add(user_id)
答案 2 :(得分:0)
counter
,最多可包含100条消息。 counter == 100
时,请使用
from time import sleep
sleep(AMOUNT_OF_TIME)
答案 3 :(得分:0)
您可以使用:
import time
然后
time.sleep(seconds)
睡觉。您可以使用浮动时间小于一秒钟。
有一点需要注意的是,如果你这样做,人们可能会讨厌你。