Python-基于``x''个转发数量转发的Twitter机器人

时间:2018-11-22 17:39:58

标签: python twitter

因此,我正在为我的第一个代码编写代码,该代码是一个简单的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

如果没有办法这样做,是否可能只从该机器人遵循的帐户转发?即使这样也有助于限制它发出的随机推文。

1 个答案:

答案 0 :(得分:0)

如果您查看the documentation,您会发现Twitter提供了许多有关Tweet的元数据。

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

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

您可以使用

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

但是,正如安迪(Andy)所说,请不要构建只会盲目转发他人的机器人。