【问题标题】:Tweepy.errors.NotFound: 404 Not Found 50 - User not foundTweepy.errors.NotFound: 404 Not Found 50 - 找不到用户
【发布时间】:2022-11-29 05:32:04
【问题描述】:

我正在尝试使用 tweepy 在 python 中制作一个 twitter 机器人,当运行以下代码时出现错误:tweepy.errors.NotFound:404 未找到 50 - 未找到用户。我的代码:


    import tweepy
    import logging
    from config import create_api
    import json
    
    logging.basicConfig(level=logging.INFO)
    logger = logging.getLogger()
    
    class FavRetweetListener(tweepy.Stream):
        def __init__(self, api):
            self.api = api
            self.me = api.get_user()
    
        def on_status(self, tweet):
            logger.info(f"Processing tweet id {tweet.id}")
            if tweet.in_reply_to_status_id is not None or \
                tweet.user.id == self.me.id:
                # This tweet is a reply or I'm its author so, ignore it
                return
            if not tweet.favorited:
                # Mark it as Liked, since we have not done it yet
                try:
                    tweet.favorite()
                except Exception as e:
                    logger.error("Error on fav", exc_info=True)
            if not tweet.retweeted:
                # Retweet, since we have not retweeted it yet
                try:
                    tweet.retweet()
                except Exception as e:
                    logger.error("Error on fav and retweet", exc_info=True)
    
        def on_error(self, status):
            logger.error(status)
    
    def main(keywords):
        api = create_api()
        tweets_listener = FavRetweetListener(api)
        stream = tweepy.Stream(api.auth, tweets_listener)
        stream.filter(track=keywords, languages=["en"])
    
    if __name__ == "__main__":
        main(["Python", "Tweepy"])

这是 `tweet.user.id == self.me.id:` 的问题吗?

【问题讨论】:

  • 我不确定 - 您可以尝试检查 self.me.id 的值 - 它是实际有效的用户 ID 吗?您在哪里设置访问令牌和访问令牌和密码,它们是否对应于有效用户?

标签: python python-3.x twitter bots tweepy


【解决方案1】:

该用户在 Twitter 中已不存在。 您必须在 python 中使用 except 语句捕获错误。

是这样的:

        try:
            api.create_block(user_id=id)
        except tweepy.error.NotFound:
            print("user not found")

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-03-20
    • 2018-11-13
    • 2021-10-14
    • 2014-11-24
    • 1970-01-01
    • 2018-04-18
    • 2015-06-27
    • 2018-04-08
    相关资源
    最近更新 更多