Python - Bot Twitter yang me-retweet berdasarkan jumlah retweet 'x'

jadi saya sedang mengerjakan kode pertama saya untuk bot Twitter sederhana yang me-retweet berdasarkan hashtag. Apa yang ingin saya lakukan adalah menambahkan sedikit kode yang masih memungkinkan bot untuk me-retweet tweet yang memiliki salah satu hashtag yang ditentukan tetapi juga memastikan bahwa tweet tersebut sudah memiliki jumlah retweet X, untuk menghentikan bot men-tweet akun pribadi kecil yang memiliki sedikit atau tidak ada interaksi.

Berikut adalah kode yang saya dapatkan sejauh ini dan berfungsi, cukup me-retweet semua orang dan siapa saja yang menggunakan salah satu hashtag:

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

Jika tidak ada cara untuk melakukan ini, apakah mungkin untuk hanya me-retweet dari akun yang diikuti bot? Bahkan hal itu akan membantu membatasi tweet acak yang dikirimkannya.


person Jamie Wilkinson    schedule 22.11.2018    source sumber
comment
Ada aturan khusus mengenai konten apa yang harus Anda retweet, dan bagaimana caranya, dalam kebijakan pengembang -› help.twitter.com/en/rules-and-policies/twitter-automation   -  person Andy Piper    schedule 22.11.2018
comment
Cheers sobat, kita sudah familiar dengan ini, saya janji. Bot hanya akan berjalan sekitar sepuluh menit pada Senin sore untuk presentasi, kemudian akan dihentikan dengan baik.   -  person Jamie Wilkinson    schedule 24.11.2018


Jawaban (1)


Jika Anda melihat dokumentasi Anda akan melihat bahwa Twitter memberi Anda banyak metadata tentang sebuah Tweet.

Anda telah mengidentifikasi dengan benar bahwa tweet.user.screen_name memberi Anda nama pengguna.

Dengan cara serupa, Anda dapat menggunakan tweet.retweet_count untuk melihat berapa kali sebuah Tweet di-retweet.

Anda bisa menggunakan

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

Tapi, seperti yang dikatakan Andy, mohon jangan membuat bot yang hanya me-retweet orang lain tanpa berpikir panjang.

person Terence Eden    schedule 22.11.2018
comment
Terima kasih atas bantuannya sobat, ini hanya akan berjalan sebentar pada saat presentasi di hari senin, sekedar untuk membuktikan berhasil, maka akan dipensiunkan dengan baik. Saya jamin ini bukan spam, kami hanya perlu membangun kasus bisnis seputar 'sesuatu yang kami buat'. - person Jamie Wilkinson; 24.11.2018