如何解决Tweepy - 跳过以下私人帐户
我有一个运行良好的 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 都是私人帐户。
如果您需要更多信息,请告诉我,谢谢。
解决方法
您可以检查每个 User object 的 protected
属性,例如if not follower.protected:
。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。