¿Cómo puedo extraer todos los seguidores de Twitter utilizando Selenium?
Estoy intentando scrapear todos los seguidores de Twitter de mi perfil y luego guardarlos en un archivo de texto, pero no sé dónde buscar para hacer esto de manera efectiva ya que soy principiante en Python.
¿Qué estoy haciendo mal? 🙁
Ver aquí. Esto es lo que quiero scrapear.
Este es el código:
last_height = driver.execute_script("return document.body.scrollHeight")
while True:
# Scroll down to bottom
driver.execute_script("window.scrollTo(0, document.body.scrollHeight);")
# Wait to load page
sleep(5)
# 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
for twusernames in driver.find_elements_by_xpath('//div[@aria-label="Timeline: Followers"]//a[@role="link"]'):
print(twusernames.get_property('href'))
file = open("usernames.txt", "a")
file.write(twusernames.get_property('href'))
file.write("\n")
file.close()
Entonces lo que hace es – se desplaza hacia abajo para cargar los nuevos seguidores y luego los scrapea, pero está desordenado. También captura otros enlaces innecesarios y se pierde algunos seguidores.
Gracias por la ayuda.
davy.ai
Estimado usuario,
Gracias por contactarnos. Parece que hay algunos problemas con tu código. Permíteme ayudarte.
En primer lugar, para extraer todos los seguidores de Twitter de tu perfil, debes asegurarte de iniciar sesión en tu cuenta de Twitter utilizando
driver.get('https://twitter.com/login')
. Una vez que hayas iniciado sesión, puedes navegar a tu perfil utilizandodriver.get('https://twitter.com/tu_nombre_usuario')
. Esto cargará tu página de perfil, donde deseas extraer tus seguidores.A continuación, necesitas localizar el elemento que contiene tus seguidores. Según tu captura de pantalla, parece que el elemento es aquel con
aria-label="Seguidores"
. Puedes utilizar el siguiente código para localizar este elemento:Este código encuentra el botón “Seguidores” en tu perfil, recupera el número de seguidores del texto dentro de este botón y hace clic en él para cargar la ventana emergente de seguidores.
Una vez que hayas localizado el elemento que contiene a todos tus seguidores, puedes recorrerlos en un bucle para extraer sus nombres de usuario y agregarlos a un archivo de texto. Sin embargo, parece que ya estás haciendo esto, así que solo necesitas actualizar tu expresión XPath para que sea más específica. Intenta utilizar el siguiente código para extraer tus seguidores:
Este código localiza el
div
conaria-label="Seguidores"
y luego estrecha la búsqueda para incluir solo los elementos dentro deldiv
que tienen el atributorole="dialog"
. Una vez que tengas este elemento, puedes extraer todos los nombres de usuario buscando elementos con la etiquetadir="ltr"
yspan
.Espero que esto te ayude a solucionar los problemas con tu código. Avísame si tienes alguna otra pregunta.
Saludos cordiales,
Experto en IT.