【问题标题】:Can't retweet with tweepy - Python无法使用 tweepy 转发 - Python
【发布时间】:2018-06-21 01:07:55
【问题描述】:

我正在尝试创建一个机器人来转发#dogs。 这是我的代码

    import tweepy

consumer_key = 'XXXXXXXXX'
consumer_secret = 'XXXXXXXXXXXXXXXXXXXXXXXX'
access_token = 'XXXXXXXXXXXXXXXXXXXXXXXXXXX'
access_token_secret = 'XXXXXXXXXXXXXXXXXXXXXX'

auth = tweepy.OAuthHandler(consumer_key, consumer_secret)
auth.set_access_token(access_token, access_token_secret)
api = tweepy.API(auth)

user = api.me()
print(user.name)

def main():
    search = ('#dogs')
    for tweet in tweepy.Cursor(api.search, search).items(1):
        try:
            tweet.retweet()
            print('Tweet Retweeted')
        except tweepy.TweepError as e:
            print(e.reason)
        except StopIteration:
            break

main()

当我运行它时,我从 (user.name) 获取我的用户名,但它从不发送转发。

CMD 输出:

C:\Users\xd\Desktop>python rt_bot.py
Dom

【问题讨论】:

    标签: python twitter tweepy


    【解决方案1】:

    api.retweet(tweet) 而不是 tweet.retweet() 应该可以这样做。

    更多参考:http://docs.tweepy.org/en/v3.5.0/api.html?highlight=retweet

    编辑:在我的评论中 - 保留 tweet.retweet(),但从 tweepy.Cursor(api.search, search).items() 中删除 1,这样您就可以搜索所有推文,而不仅仅是您可以搜索的第一条推文。

    items() 的参数决定了你搜索了多少条推文,将其留空将允许你搜索 tweepy 允许的尽可能多的推文

    【讨论】:

    • 不,我仍然得到相同的输出
    • 我的错,保留tweet.retweet(),但从tweepy.Cursor(api.search, search).items() 中删除1,这样您就可以搜索所有推文,而不仅仅是您可以搜索的第一条推文。
    猜你喜欢
    • 2021-11-28
    • 1970-01-01
    • 2019-07-03
    • 2016-08-01
    • 1970-01-01
    • 2016-02-10
    • 1970-01-01
    • 2021-01-03
    • 2021-06-22
    相关资源
    最近更新 更多