Python - บอท Twitter ที่รีทวีตตามจำนวนรีทวีต 'x'

ดังนั้นฉันจึงกำลังเขียนโค้ดตัวแรกสำหรับบอต 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

หากไม่มีวิธีในการทำเช่นนี้ เป็นไปได้ไหมที่จะรีทวีตจากบัญชีที่บอทติดตามเท่านั้น แม้นั่นจะช่วยจำกัดทวีตสุ่มที่ส่งออกไป


person Jamie Wilkinson    schedule 22.11.2018    source แหล่งที่มา
comment
มีกฎเฉพาะเกี่ยวกับเนื้อหาที่คุณควรรีทวีต และอย่างไร ในนโยบายของนักพัฒนาซอฟต์แวร์ -› help.twitter.com/en/rules-and-policies/twitter-automation   -  person Andy Piper    schedule 22.11.2018
comment
ไชโยเพื่อน เราคุ้นเคยกับสิ่งนี้แล้วฉันสัญญา บอทจะทำงานเพียงประมาณสิบนาทีในบ่ายวันจันทร์เพื่อนำเสนอ จากนั้นบอทจะถูกยกเลิกอย่างสวยงาม   -  person Jamie Wilkinson    schedule 24.11.2018


คำตอบ (1)


หากคุณดูที่ เอกสารประกอบ คุณจะเห็นว่า Twitter ให้ข้อมูลเมตามากมายเกี่ยวกับทวีตแก่คุณ

คุณระบุอย่างถูกต้องว่า tweet.user.screen_name ให้ชื่อผู้ใช้แก่คุณ

ในทำนองเดียวกัน คุณสามารถใช้ tweet.retweet_count เพื่อดูว่าทวีตถูกรีทวีตกี่ครั้ง

คุณสามารถใช้

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

แต่อย่างที่ Andy พูดไว้ โปรดอย่าสร้างบอทที่รีทวีตผู้อื่นอย่างไร้เหตุผล

person Terence Eden    schedule 22.11.2018
comment
ขอขอบคุณสำหรับความช่วยเหลือ เราจะดำเนินการนำเสนอในช่วงเวลาสั้นๆ ในวันจันทร์เท่านั้น เพื่อพิสูจน์ว่าใช้งานได้ จากนั้นระบบจะยุติการใช้งานอย่างสง่างาม ฉันรับรองได้เลยว่าจะไม่สแปม เราแค่ต้องสร้างกรณีธุรกิจเกี่ยวกับ "สิ่งที่เราสร้างขึ้น" - person Jamie Wilkinson; 24.11.2018