Aprenderemos extraer toda la lista de seguidores de cualquier usuario en Twitter con un Bot, usaremos Python y Selenium. Si quieres saber como hacerlo pues sigue leyendo.
Requisitos:
- Saber Python básicamente
- Entender XPATH
- Tener Python 3
1. Primero creamos una carpeta en la que tienen que haber 3 archivos:
- Scrap followers twitter.py, pueden descargar el código en mi git.
- Chromedriver.exe : Se utiliza para hacer automatizaciones con Google Chrome. Lo pueden descargar aquí.
- PASSWORD.TXT: Donde agregaremos la contraseña de nuestra cuenta de Twitter.

2. Con el siguiente fragmento de código se automatiza el proceso de Iniciar Sesión en Twitter, lo explico a continuación:
[code lang=»python»]
def get_followers(user_followers):
#Asignamos credenciales
MY_SCREEN_NAME = ‘hostingeconomic’
MY_PASSWORD = open("mypassword.txt").read().strip()
#Asignamos el Chromedriver para que ejecute la automatizacion
driver = webdriver.Chrome(executable_path=r"chromedriver.exe")
#Entramos al Login
driver.get("https://twitter.com/login")
#Ingresamos el Usuario y Contraseña
el = driver.find_element_by_css_selector("#page-container > div > div.signin-wrapper > form > fieldset > div:nth-child(2) > input")
el.send_keys(MY_SCREEN_NAME)
driver.find_element_by_css_selector("#page-container > div > div.signin-wrapper > form > fieldset > div:nth-child(3) > input").send_keys(MY_PASSWORD, Keys.ENTER)
[/code]
3. Con este fragmento de código, función «scroll_down» logramos entrar al apartado de Followers del perfil que queremos extraer sus seguidores y mediante un bucle comienza a hacer scroll hasta cargar todos los usuarios.
[code lang=»python»]
def scroll_down(driver):
"""Un metodo para hacer scroll a una página web."""
# Get scroll height.
last_height = driver.execute_script("return document.body.scrollHeight")
while True:
# Scroll down to the bottom.
driver.execute_script("window.scrollTo(0, document.body.scrollHeight);")
# Wait to load the page.
time.sleep(2)
# Calculate new scroll height and compare with last scroll height.
new_height = driver.execute_script("return document.body.scrollHeight")
if new_height == last_height:
break
last_height = new_height
[/code]
4. Tenemos el script completo, como resultado nos da la lista de seguidores del usuario que hemos buscado:
[code lang=»python»]
from selenium import webdriver
import time
from selenium.webdriver.common.keys import Keys
def scroll_down(driver):
"""Un metodo para hacer scroll a una página web."""
# Get scroll height.
last_height = driver.execute_script("return document.body.scrollHeight")
while True:
# Scroll down to the bottom.
driver.execute_script("window.scrollTo(0, document.body.scrollHeight);")
# Wait to load the page.
time.sleep(2)
# Calculate new scroll height and compare with last scroll height.
new_height = driver.execute_script("return document.body.scrollHeight")
if new_height == last_height:
break
last_height = new_height
def get_followers(user_followers):
#Asignamos credenciales
MY_SCREEN_NAME = ‘hostingeconomic’
MY_PASSWORD = open("mypassword.txt").read().strip()
#Asignamos el Chromedriver para que ejecute la automatizacion
driver = webdriver.Chrome(executable_path=r"chromedriver.exe")
#Entramos al Login
driver.get("https://twitter.com/login")
#Ingresamos el Usuario y Contraseña
el = driver.find_element_by_css_selector("#page-container > div > div.signin-wrapper > form > fieldset > div:nth-child(2) > input")
el.send_keys(MY_SCREEN_NAME)
driver.find_element_by_css_selector("#page-container > div > div.signin-wrapper > form > fieldset > div:nth-child(3) > input").send_keys(MY_PASSWORD, Keys.ENTER)
#Entrar a la seccion de Seguidores
link_seguidores = ‘https://twitter.com/{}/followers?lang=es’.format(user_followers)
driver.get(link_seguidores)
time.sleep(1)
#Hacemos Scroll a la página hasta que ya no hayan más seguidores
scroll_down(driver)
#Pintamos en consola todos los usuarios
user = driver.find_elements_by_css_selector(‘div.ProfileCard-userFields > span > a > span > b’)
for a in user:
print(str(a.text))
print("el numero de usuarios es : ", len(user))
get_followers(‘rorolas_’)
[/code]
En el siguiente video puedes observar el bot en funcionamiento:
Link del git: https://github.com/ronaldohernandez/scrape-followers-twitter-python
Como puedes ver, hacer automatizaciones no es cosa del otro mundo, con un poco de práctica y experimentación aprenderás cosas muy chulas. Hasta aquí el post de hoy, cualquier pregunta en los comentarios.