2015-05-28 63 views
0

我正在研究python twitter腳本。到目前爲止,它工作的很好,但我需要添加一個while語句來限制取消關注(api調用)的數量少於100個。我一直在研究這一整天,並且我承認我是python的新手,我可能會缺少一些簡單的東西,但我嘗試了一些變化無濟於事。添加一條while語句到我的python twitter bot

#! /usr/bin/python 
# -*- coding: utf-8 -*- 

import tweepy 
from keys import keys 

SCREEN_NAME = keys['screen_name'] 
CONSUMER_KEY = keys['consumer_key'] 
CONSUMER_SECRET = keys['consumer_secret'] 
ACCESS_TOKEN = keys['access_token'] 
ACCESS_TOKEN_SECRET = keys['access_token_secret'] 
auth = tweepy.OAuthHandler(CONSUMER_KEY, CONSUMER_SECRET) 
auth.set_access_token(ACCESS_TOKEN, ACCESS_TOKEN_SECRET) 
api = tweepy.API(auth) 
followers = api.followers_ids(SCREEN_NAME) 
friends = api.friends_ids(SCREEN_NAME) 
for f in friends: 
    if f not in followers: 
     print "Unfollow {0}?".format(api.get_user(f).screen_name) 
if raw_input("Y/N?") == 'y' or 'Y': 
    api.destroy_friendship(f) 

回答

1

添加一個取消關注計數器,並在您進行取消追蹤呼叫時遞增該計數器。然後檢查計數器是否少於100,除了'是'的答案。

#! /usr/bin/python 
# -*- coding: utf-8 -*- 

...code before for loop here... 
unfollows = 0 
for f in friends: 
    if f not in followers: 
     print "Unfollow {0}?".format(api.get_user(f).screen_name) 
     input = raw_input("Y/N?") 
     if (unfollows < 100) and (input == 'y' or input 'Y'): 
      api.destroy_friendship(f) 
      unfollows += 1 
+0

謝謝。這有很大幫助。 – user3429394

+0

這使得我必須在每次迭代之後推「y」......並且我的原始代碼一次完成所有操作......我如何編寫此代碼,以便在99次選擇後要求我取消關注? – user3429394

+0

它看起來像是在提示您是否要取消關注特定用戶,這是否正確?如果是這樣,你需要每次按'y'。否則,只要取消關注<100,它就會取消關注遇到的每個人。 – zachhilbert