我有一个运行良好的 Twitter 机器人。但是,我在关注拥有私人 Twitter 帐户的用户时遇到了问题。
机器人会发送一个关注请求,然后即使已经发送了一个请求,也会继续发送关注请求。
是否可以跳过关注私人帐户?
代码如下:
#!/usr/bin/env python3.8
#followback.py
import tweepy
import logging
from config import create_api
import time
def get_friends():
# gets a list of your followers and following
followers = api.followers_ids(screen_name)
following = api.friends_ids(screen_name)
logging.basicConfig(level=logging.INFO)
logger = logging.getLogger()
def follow_followers(api):
logger.info("Retrieving and following followers...")
for follower in tweepy.Cursor(api.followers).items():
if not follower.following:
try:
logger.info("Now following "+ (follower.screen_name))
follower.follow()
except tweepy.TweepError as error:
if error.api_code == 160:
logger.info("Already sent a follow request to " + (follower.screen_name) + ". Attempting to skip.")
def main():
api = create_api()
while True:
follow_followers(api)
logger.info("Waiting...")
time.sleep(120)
if __name__ == "__main__":
main()
我现在添加了一些代码:
if error.api_code == 160:
logger.info("Already sent a follow request to " + (follower.screen_name) + ".
它捕获了错误并在日志中看起来更整洁,但它正在填充日志:
INFO:root:Retrieving and following followers...
INFO:root:Now following "user a"
INFO:root:Already sent a follow request to "user a". Attempting to skip.
INFO:root:Now following "user b"
INFO:root:Already sent a follow request to "user b". Attempting to skip.
INFO:root:Waiting...
INFO:root:Retrieving and following followers...
INFO:root:Now following "user a"
INFO:root:Already sent a follow request to "user a". Attempting to skip.
INFO:root:Now following "user b"
INFO:root:Already sent a follow request to "user b". Attempting to skip.
INFO:root:Waiting...
本示例中的用户 a 和用户 b 都是私人帐户。
如果您需要更多信息,请告诉我,谢谢。