Tweepy: Dejar de seguir a quien no te sigue excepto cuentas grandes

Tweepy Voy a empezar una serie de artículos sobre la utilización de la librería Tweepy de Python para el manejo de una cuenta de Twitter, ya que esta librería permite crear potentes utilidades con muy pocas líneas de código.

Una técnica obvia para ganar seguidores en Twitter es el "te sigo / me sigues". O sea, seguir a mucha gente con la esperanza de que al ver que los sigues, te sigan a tí también. Y es muy facil con Tweepy obtener la lista de seguidores de cualquier cuenta grande, y automatizar un script para ir siguiendolos todos poco a poco, ya que Twitter tiene unas estrictas normas:

El límite de 5000 amigos. Es decir, si se tiene menos de 5000 seguidores, el máximo que puede seguir es de 5000 cuentas.
El límite del 10%. Si se sigue a más de 5000 usuarios, se estará limitado a un 10% más que la cantidad de personas que te siguen. Por ejemplo, si 5000 usuarios te siguen, puedes seguir un máximo de 5500 personas, si son 10000 las te siguen, puedes seguir hasta 11,000 personas, y así sucesivamente.
Y además, no puedes seguir a más de 1.000 usuarios nuevos por día.

Una vez has alcanzado un gran numero de amigos, lo que conviene es dejar de seguir a todos los que no te siguen. Pero claro, no a todos, porque quizás quieras evitar dejar de seguir a usuarios grandes, que son los que más te pueden aportar, ya que tus reply's a esas cuentas tendrán más visibillidad. Vamos a hacer un script que deje de seguir a todos los que no te siguen, pero evitando las cuentas con más de 1000 seguidores. El tiempo de "sleep" lo randomizamos para que la acción no parezca tan "bot" a ojos de Twitter, además siempre hay que poner algo de delay para que Twitter no nos expulse temporalmente por utilización "compulsiva" de sus recursos. Las funciones "followers_ids" y "friends_ids" son bastante lentas, dependiendo claro del numero de amigos o seguidores que tengas.

import tweepy
import time
import random
from secrets import * 
auth = tweepy.OAuthHandler(consumer_key, consumer_secret) 
auth.set_access_token(access_token, access_secret) api = tweepy.API(auth, wait_on_rate_limit=True, wait_on_rate_limit_notify=True, compression=True)
followers = api.followers_ids()
friends = api.friends_ids()
for nf in friends:
if nf not in followers:
if api.get_user(nf).followers_count < 1000:
print("Dejando de seguir a {} que tenía estos seguidores {}".format(api.get_user(nf).screen_name, api.get_user(nf).followers_count))
try:
api.destroy_friendship(nf)
except tweepy.error.TweepError as et:
print(et)
except Exception as e:
print(e)
g = random.randint(4,10)
time.sleep(g)
print("Fin")
Leave a comment
I have read and accept the Privacy Policy

The comments sent by each user will always be visible in the corresponding post, and will not be used for any other purpose. The user has the right to access, rectify and suppress said comments, as reflected in our Privacy Policy