【问题标题】:Python - Twitter bot that retweets based on 'x' number of retweetsPython - 基于“x”转推数转推的 Twitter 机器人
【发布时间】:2023-04-07 17:12:01
【问题描述】:

所以我正在编写我的第一个代码,用于基于主题标签转发的简单 Twitter 机器人。我想要做的是添加一些代码,它仍然允许机器人转发具有指定主题标签的推文,但也确保推文已经有 X 个转发,以阻止机器人发布具有几乎没有互动。

这是我目前得到的代码,它正在工作,只是转发每个人以及使用其中一个主题标签的人:

import tweepy

from time import sleep

from keys import *

auth = tweepy.OAuthHandler(consumer_key, consumer_secret)

auth.set_access_token(access_token, access_token_secret)

api = tweepy.API(auth)


for tweet in tweepy.Cursor(api.search, q='#bcafc OR #hcafc OR #rufc OR #lufc OR #mot OR #alaw OR #twitterblades OR #sufc OR #forgedinsteel OR #swfc OR #swfcLIVE OR #notjustagame OR #youreds OR #utb OR #boro OR #htafc OR #drfc').items():

try:

    print('\Yorkshire Footy Bot found tweet by @' + tweet.user.screen_name + '. ' + 'Attempting to retweet.')


    tweet.retweet()


    print('Retweet published successfully.')


    sleep(20)


except tweepy.TweepError as error:

    print('\nError. Retweet not successful. Reason: ')

    print(error.reason)


except StopIteration:

    break

如果没有办法做到这一点,是否可以仅从机器人关注的帐户转发推文?即使这样也有助于限制它发出的随机推文。

【问题讨论】:

  • 在开发者政策中有关于您应该转发哪些内容以及如何转发的具体规则 -> help.twitter.com/en/rules-and-policies/twitter-automation
  • 干杯伙伴,我保证我们已经很熟悉了。该机器人仅会在周一下午运行大约十分钟以进行演示,然后它将优雅地退出。

标签: python twitter


【解决方案1】:

如果您查看the documentation,您会发现 Twitter 为您提供了大量关于推文的元数据。

您已正确识别出tweet.user.screen_name 为您提供了用户名。

以类似的方式,您可以使用tweet.retweet_count 查看一条推文被转发了多少次。

你可以使用

for tweet in tweepy.Cursor(api.search, q='#....').items(): if tweet.retweet_count > 10: ...

但是,正如安迪所说,请不要构建一个只是漫不经心地转发他人推文的机器人。

【讨论】:

  • 感谢您的帮助,它只会在周一的演示文稿中运行一小段时间,只是为了证明它有效,然后它将优雅地退役。我可以向您保证,这不是垃圾邮件,我们只需要围绕“我们制作的东西”建立一个商业案例。
猜你喜欢
  • 2018-01-18
  • 2011-04-19
  • 1970-01-01
  • 2015-03-12
  • 2011-10-20
  • 2011-05-05
  • 1970-01-01
  • 2021-08-04
  • 2019-05-12
相关资源
最近更新 更多