TOP  

Snscrape: ¡Qué es, Cómo se usa y Más!

Si has jugado con datos de redes sociales, puede que te hayas topado con una herramienta llamada "snscrape".

Como alguien que utiliza con frecuencia varias herramientas de software, he descubierto que snscrape es una gran herramienta para algunas tareas, especialmente cuando combinado con un proxy.

Veamos qué es snscrape, cómo funciona y por qué puede suponer un cambio radical en tus flujos de trabajo de recopilación de datos.

TL;DR:

  • Snscrape es una herramienta de Python para el scraping de redes sociales sin utilizar una API.  
  • Funciona con Twitter/X, Facebook, Instagram, Reddity mucho más.  
  • Puedes extraer tweets, perfiles de usuarios, hashtags y guardarlos en CSV.  
  • Para el scraping a gran escala, utilice proxies para evitar bloqueos y límites de velocidad.
Guía definitiva de Snscrape

Tabla de contenidos

  1. ¿Qué es Snscrape?
  2. ¿Cómo funciona Snscrape?
  3. Cómo utilizar Snscrape
  4. ¿Qué datos puedes extraer de Twitter con Snscrape?
  5. Casos de uso de Snscrape
  6. Cómo añadir un proxy a Snscrape
  7. Por qué debería utilizar un proxy con Snscrape
  8. Alternativas a Snscrape
  9. ¿Es legal Snscrape?
  10. Preguntas frecuentes sobre Snscrape
  11. Palabras finales

1. ¿Qué es Snscrape?

snscrape
Captura de pantalla vía GitHub

Snscrape es una biblioteca de Python que permite extraer datos de plataformas de redes sociales como X (Twitter), Facebook e Instagram.

A diferencia de muchas otras herramientas de scraping, snscrape no requiere una clave API, lo que la hace utilizable por una gama más amplia de usuarios, incluidos aquellos que podrían no tener los conocimientos técnicos necesarios para utilizar las API.

Beneficios de Snscrape

Snscrape viene con varios pros que vale la pena destacar:

  1. No se necesita clave API: Se trata de una ventaja significativa. La mayoría de las plataformas de medios sociales requieren una clave API para el raspado de datos, lo que puede ser un problema para muchos usuarios. Esta es una de las razones por las que mucha gente prefiere Snscrape.
  2. Flexibilidad: Puede adaptar sus consultas de búsqueda para que sean tan amplias o específicas como necesite. Esta flexibilidad es crucial para la investigación que requiere la recopilación de datos matizados.
  3. Facilidad de uso: Para quienes estén familiarizados con Python, snscrape es fácil de usar. Sus sencillos comandos y su estructura facilitan su integración en el flujo de trabajo de recopilación de datos.

2. ¿Cómo funciona Snscrape?

Utilizar snscrape es relativamente sencillo, sobre todo si se tienen conocimientos básicos de Python.

La herramienta rastrea los sitios web de las redes sociales en busca de datos públicos. Por ejemplo, puedes utilizarla para recopilar tuits que contengan palabras clave específicas, hashtags o de determinados usuarios.

He aquí un ejemplo sencillo:

Si desea raspar tweets que contenga el hashtag #ecnología, usted escribiría un script en Python utilizando snscrape para buscar este hashtag y luego extraer los tweets relevantes.

Así es como funciona Snscrape:

  • Snscrape: Ejecutas Snscrape en tu ordenador para recopilar publicaciones públicas de plataformas como X (Twitter).
  • Proxy: Un proxy oculta tu IP y te ayuda a evitar bloqueos al hacer scraping.
  • Web: Snscrape envía peticiones al sitio web y carga datos públicos, como tweets.
  • Datos: A continuación, convierte esos datos en un formato limpio y legible, como JSON o CSV, para que usted pueda utilizarlo.
cómo funciona Snscrape.

3. Cómo utilizar Snscrape

Para empezar, necesitarás una configuración básica que incluya Python instalado en tu ordenador. A continuación, puede instalar snscrape con pip, el instalador de paquetes de Python. Una vez instalado, puedes empezar a escribir scripts para extraer los datos que necesites.

Aquí tienes una sencilla guía para empezar a utilizar esta potente herramienta.

a. Instalación

En primer lugar, debe instalar snscrape. Abra su símbolo del sistema o terminal y escriba el siguiente comando:

Código bashCopy

pip install snscrape

Este comando utiliza el gestor de paquetes de Python, pip, para descargar e instalar el raspador.

b. Escribir un guión básico

Una vez instalado, puedes empezar a escribir un script en Python para recopilar datos. Digamos que quieres recopilar tweets con un hashtag específico. He aquí un ejemplo básico:

import snscrape.modules.twitter as sntwitter # Definir el número de tweets que se van a extraer max_tweets = 100 # Utilizar TwitterSearchScraper para extraer datos y añadir tweets a la lista for i, tweet in enumerate(sntwitter.TwitterSearchScraper('#technology').get_items()): if i > max_tweets: break print(tweet.content)

Este script extraerá los últimos 100 tweets que contengan el hashtag #ecnología.

c. Ejecute su script

Guarde su script como .py y ejecútalo usando Python. El script se ejecutará, y deberías empezar a ver tweets impresos en tu símbolo del sistema o terminal.

d. Cómo personalizar su consulta

Puedes modificar tu consulta de búsqueda fácilmente. Por ejemplo, si desea obtener tweets de un usuario específico, puede cambiar la consulta en el campo TwitterSearchScraper método:

sntwitter.TwitterSearchScraper('from:nombredeusuario')

Sustituir nombre de usuario con el identificador de Twitter del usuario cuyos tweets desea obtener.

e. Tratamiento de los datos

Los datos raspados pueden almacenarse en varios formatos. Por ejemplo, puede guardar los tweets en un archivo CSV para facilitar su análisis. Puedes modificar tu script para escribir los datos raspados en un archivo:

import csv # ... [código anterior] # Abrir/crear un archivo al que añadir los datos csvFile = open('scraped_tweets.csv', 'a', newline='', encoding='utf8') # Usar csv writer csvWriter = csv.writer(csvFile) csvWriter.writerow(['id', 'date', 'tweet']) for i, tweet in enumerate(sntwitter.TwitterSearchScraper('#technology').get_items()): if i > max_tweets: break csvWriter.writerow([tweet.id, tweet.date, tweet.content]) csvFile.close()

Este script guardará el ID del tweet, la fecha y el contenido en un archivo CSV llamado scraped_tweets.csv.

Consigue resultados consistentes 📊

¿Cansado de las respuestas incoherentes de snscrape? Las IP residenciales limpias reducen los captchas y las solicitudes bloqueadas.

Mejorar la estabilidad del raspado

4. ¿Qué datos puedes extraer de Twitter con Snscrape?

Snscrape puede ayudarte a extraer una amplia gama de datos de X (Twitter). Aquí tienes un desglose de los distintos puntos de datos que puedes extraer con snscrape:

a. Tweets

El uso principal de snscrape es recopilar tweets. Esto incluye:

  • Tuitear contenido: El texto real del tweet.
  • Tweet ID: Un identificador único para cada tweet.
  • Fecha y hora: Cuando se publicó el tuit.
  • URL: Cualquier enlace incluido en el tweet.

b. Información del usuario

Snscrape permite recopilar información sobre los usuarios de Twitter, como:

  • Nombre de usuario: La cuenta de Twitter del usuario.
  • ID de usuario: Un identificador único para cada usuario.
  • Descripción del perfil: La biografía o descripción del perfil del usuario.
  • Ubicación: La ubicación proporcionada por el usuario en su perfil (si está disponible).

c. Métricas de compromiso

Aunque snscrape no obtiene directamente métricas de participación como "me gusta" o "retweets", puedes recopilarlas:

  • Recuento de retuits: El número de veces que se ha retuiteado un tuit (para algunos tuits).
  • Respuesta: El número de respuestas a un tweet (para algunos tweets).

d. Hashtags y menciones

Snscrape puede extraer elementos específicos dentro de los tweets, incluyendo:

  • Hashtags: Cualquier hashtag utilizado en el tweet.
  • Menciones: Nombres de usuario de otras cuentas X (Twitter) mencionadas en el tuit.

e. Contenido de los medios de comunicación

Si un tuit contiene medios de comunicación, snscrape puede ayudarte a identificarlos:

  • URL de medios de comunicación: Enlaces a imágenes o vídeos adjuntos al tuit.

f. Consultas de búsqueda avanzada

Snscrape es capaz de manejar las consultas de búsqueda avanzada, lo que le permite scrape tweets basado en:

  • Palabras clave: Tweets que contienen palabras o frases específicas.
  • Intervalos de fechas: Tweets publicados en un periodo de tiempo determinado.
  • Situación geográfica: Tweets de una ubicación geográfica específica (si hay datos de ubicación disponibles).

Cada tuit incluiría campos como

  • id: ID único del tweet
  • fecha: Cuando se publicó el tweet
  • contenido: Texto completo del tuit
  • nombre.usuario: Quién lo ha publicado
  • retweetCount, likeCountetc.

g. Datos de hilos y conversaciones

También puedes utilizar snscrape para seguir hilos de conversación, extrayendo:

  • Tweets conversacionales: Respuestas y tuits citados, que te permiten seguir las conversaciones.

5. Casos de uso de Snscrape: De lo simple a lo avanzado

Snscrape tiene una amplia gama de aplicaciones. A continuación te mostramos cómo se utiliza: desde el scraping cotidiano hasta configuraciones automatizadas más avanzadas.

a. Casos de uso cotidiano de Snscrape

A continuación se indican las formas más comunes en que los usuarios aprovechan snscrape para tareas puntuales o proyectos a pequeña escala:

  • Estudios de mercado: Raspe las menciones de productos, marcas o tendencias para comprender cómo habla la gente de ellos en tiempo real.
  • Investigación académica: Recopilar conjuntos de datos para estudios sobre el discurso político, el comportamiento en línea o la opinión pública.

No es necesaria una configuración masiva, basta con un script en Python y una consulta de búsqueda clara.

b. Automatización de Scrapes con Cronjobs

Si desea recopilar datos de forma continua (diaria, horaria o semanalmente), puede programar el script snscrape mediante cronjobs (Linux/macOS) o el Programador de tareas de Windows.

Esto es ideal para capturar menciones diarias u horarias o para construir series temporales de datos sobre tendencias o sentimiento.

Consejo profesional: Asegúrate de que tu script rota los nombres de los archivos y maneja los límites de velocidad si quieres evitar sobreescrituras de datos o bloqueos del servidor.

c. Scraping geográfico para obtener información local

¿Necesita datos basados en la ubicación? Snscrape admite filtros geográficos mediante "cerca:" y "dentro de:" en su consulta.

Por ejemplo:

Utilícelo para cosas como: seguimiento de la respuesta a catástrofes regionales o sentimiento de marca o menciones específicas de una ciudad.

Incluso puede combinarlo con desde entonces: y hasta: para los datos específicos de la fecha.

d. Seguimiento de hilos y conductos de ciencia de datos

Para análisis más complejos, se suele utilizar snscrape:

  • Extraer conversaciones enteras (incluyendo respuestas y citas)
  • Construir conjuntos de datos etiquetados para PNL, modelización de temas o aprendizaje automático
  • Racionalizar la extracción de tweets en un DataFrame de pandas para el preprocesamiento

Por ejemplo:

Desde la clasificación de opiniones hasta la agrupación de conversaciones por temas, Snscrape es uno de los favoritos en el sector de la informática. ciencia de datos y la comunidad investigadora.

6. Cómo añadir un proxy a Snscrape

Añadir un poder a snscrape puede multiplicar por diez tus capacidades de scraping. Proporciona anonimato y evita los límites de velocidad, así como los contenidos geobloqueados.

Aquí tienes una guía paso a paso sobre cómo integrar un proxy con snscrape:

a. Elija un servicio proxy

Seleccione un servicio proxy fiable. Hay varios tipos de poderes disponibles, incluidos servicios gratuitos y de pago. Estos últimos suelen ofrecer mayor fiabilidad y velocidad. Sugiero los siguientes tipos de proxy para usar junto con Snscrap.

b. Obtenga la información de su apoderado

Una vez que hayas elegido un servicio proxy, reúne la información necesaria: la dirección del servidor proxy, el número de puerto y, si procede, el nombre de usuario y la contraseña.

🚨 Atención: Snscrape no soporta de forma nativa la inyección de sesión, por lo que el uso de proxy es indirecto a través de su objeto de sesión de solicitud.

c. Configure su script Python

A continuación, tendrá que modificar su script Python para enrutar las peticiones snscrape a través del proxy.

He aquí un ejemplo de cómo hacerlo:

import snscrape.modules.twitter as sntwitter import requests # Configuración del proxy proxies = { 'http': 'http://username:password@proxyserver:port', 'https': 'https://username:password@proxyserver:port', } # Crear una sesión y configurarla para utilizar el proxy session = requests.Session() session.proxies.update(proxies) # Utilizar snscrape con la sesión for tweet in sntwitter.TwitterSearchScraper('keyword', session=session).get_items(): print(tweet.content)

Sustituir nombre de usuario, contraseña, servidor proxy, y port con los datos de su representante. En palabra clave debe sustituirse por el término de búsqueda.

7. Por qué debería utilizar un proxy con Snscrape

  1. Eludir los límites de velocidad: Los proxies pueden ayudar a evitar alcanzar los límites de velocidad de X (Twitter) distribuyendo las peticiones entre diferentes direcciones IP.
  2. Evite las prohibiciones de IP: El scraping regular desde la misma IP puede llevar a prohibiciones. Los proxies mitigan este riesgo rotar su dirección IP.
  3. Acceda a contenidos restringidos geográficamente: Los proxies pueden proporcionar direcciones IP desde distintas ubicaciones, lo que permite acceder a contenidos específicos de una región.
  4. Anonimato y privacidad: El uso de un proxy oculta su dirección IP real, lo que aumenta su privacidad y reduce el riesgo de ser rastreado.
  5. Mejora del rendimiento: Los proxies pueden acelerar la recuperación de datos y reducir los riesgos de sobrecarga del servidor al distribuir la carga.

8. Alternativas a Snscrape

Si bien snscrape es una herramienta sólida para el raspado de datos de redes sociales, hay situaciones en las que podría necesitar una alternativa (mejores herramientas de raspado web). Ya sea debido a diferentes requisitos de características, compatibilidad con plataformas o facilidad de uso, consultar otras herramientas puede ser útil. He aquí algunas alternativas notables a snscrape:

HerramientaLo mejor para¿Sin API?¿Necesita codificación?
SnscrapeTwitter/X scraping
TwintGrandes conjuntos de datos de Twitter
ChatarraRastreo general de sitios web
OctoparseRaspado basado en GUI (sin codificación)
ParseHubPáginas complejas (JS/AJAX heavy)

a. Twint

Twint es otra popular biblioteca de Python para raspado de Twitter datos. Es conocido por su capacidad para extraer un gran número de tweets sin necesidad de la API de Twitter ni de autenticación. Twint puede obtener una gran variedad de información, como tuits, seguidores, "me gusta" y mucho más. Es especialmente útil para quienes necesitan recopilar grandes conjuntos de datos de Twitter.

b. Scrapy

Chatarra
Crédito de la imagen: Scrapy

Chatarra es más general raspado web en Python. Aunque no está diseñado específicamente para las redes sociales, es increíblemente potente para extraer datos de cualquier sitio web. Scrapy es adecuado para tareas de scraping complejas, y ofrece una amplia personalización y control sobre tus trabajos de scraping. Es ideal para usuarios con conocimientos de programación más avanzados que necesiten extraer datos de diversas fuentes.

c. BeautifulSoup

BeautifulSoup es una biblioteca de Python para analizar documentos HTML y XML. Suele utilizarse en combinación con una biblioteca de peticiones para extraer datos de páginas web. Aunque requiere más configuración en comparación con snscrape, BeautifulSoup ofrece una gran flexibilidad y es potente para extraer datos de páginas web que no son necesariamente plataformas de redes sociales.

d. Octoparse

Octoparse
Crédito de la imagen: Octoparse

Octoparse es una herramienta de extracción de datos fácil de usar que no requiere conocimientos de programación. Es adecuada para no programadores o para quienes prefieren una interfaz gráfica para las tareas de scraping. Octoparse puede realizar extracciones de datos simples y complejas de varios tipos de páginas web, incluidos los sitios de redes sociales.

e. Minero de datos

Dataminer
Crédito de la imagen: Data Miner

Minero de datos es una extensión para los navegadores Chrome y Edge que permite extraer datos de páginas web y convertirlos a diversos formatos de archivo, como Excel y Google Sheets. Es muy fácil de usar y adecuada para aquellos que necesitan raspar datos rápidamente sin escribir ningún código.

f. ParseHub

Parsehub
Crédito de la imagen: ParseHub

ParseHub es una herramienta visual de extracción de datos que está equipada con tecnología de aprendizaje automático para identificar, extraer y transformar datos de páginas web. Consulte nuestra ParseHub reseña. Es una poderosa herramienta para raspar sitios web complejos y puede manejar sitios web con JavaScript y AJAX.

Sí-snscrape raspa sólo los datos visibles públicamentecomo tweets, nombres de usuario, hashtags y marcas de tiempo. Lo hace no acceder a mensajes privados o a contenidos protegidos por contraseña.

Dicho esto, la legalidad no siempre es blanco o negro. Por lo general, la extracción de datos públicos es legal, plataformas como Twitter/X e Instagram tienen condiciones de servicio que pueden prohibir el acceso automatizado.

🛡️ Cómo utilizar snscrape de forma responsable:

  • No escarbe detrás de muros de pago o inicios de sesión
  • Respetar los límites de tarifa y la integridad del sitio
  • Consulta siempre las últimas políticas de la plataforma

Más información en: ¿Es legal el web scraping?

10. Preguntas frecuentes sobre Snscrape

¿Para qué sirve snscrape?

Snscrape es una herramienta basada en Python para extraer datos públicos de plataformas como Twitter (ahora X), Instagram, Facebook y Reddit. Se utiliza habitualmente para recopilar tweets, rastrear hashtags, supervisar la actividad de los usuarios o crear conjuntos de datos para la investigación y el análisis de datos, todo ello sin necesidad de una clave API.

¿Es snscrape mejor que la API de Twitter?

Snscrape es mejor para el scraping ocasional o flexible de datos públicos de Twitter porque no requiere una clave API y tiene menos pasos de configuración o límites de velocidad. Sin embargo, carece del acceso completo y de los puntos finales estructurados que ofrece la API oficial de Twitter. Esto hace que la API sea más adecuada para empresas o casos de uso a gran escala.

¿Funciona snscrape para Instagram o Facebook?

Snscrape tiene un soporte limitado para Instagram y Facebook. El scraping de estas plataformas es menos fiable debido a los frecuentes cambios de diseño y a las medidas anti-bot. Snscrape funciona mejor con Twitter y Reddit, mientras que Facebook e Instagram pueden fallar más a menudo y requerir herramientas adicionales como proxies.

¿Se puede bloquear usando snscrape?

Sí, puedes ser bloqueado si haces scraping demasiado agresivo o envías demasiadas peticiones en poco tiempo. Para evitarlo, le recomendamos encarecidamente que aplique retrasos en las solicitudes o utilice servicios proxy para rotar las IP y eludir los límites de velocidad. Todo ello manteniendo el acceso a los datos públicos.

11. Palabras finales

Snscrape es una gran herramienta para la extracción de datos de redes sociales. Con conocimientos básicos de Python, puedes personalizar la extracción de datos para adaptarla a una amplia gama de necesidades.

Sólo asegúrate de utilizar snscrape de forma adecuada y ética para evitar problemas.

Ejecuta Snscrape a escala 🚀.

Los grandes conjuntos de datos implican más solicitudes. Evite interrupciones o bloqueos de IP repartiendo el tráfico con proxies residenciales rotatorios.

Rascar sin límites

Ahora, ¡a divertirse!

¿Eres un dios del raspado o un completo novato?

Responda al siguiente divertido cuestionario y conozca su personalidad de rascador

Sobre el autor Deyan Georgiev

Avatar de Deyan Georgiev

Deyan Georgiev es un experto en software y tecnología, centrado en la privacidad en línea y la protección de datos. Está certificado como experto en ciberseguridad e IoT tanto por la Universidad de Londres como por la Universidad de Georgia. Además, Deyan es un ferviente defensor de la protección de datos personales. También está especializado en privacidad por Infosec.

Únase a más de 40.000 suscriptores del boletín de noticias

Obtenga actualizaciones periódicas sobre los casos de uso de Seedbox, guías técnicas, proxies, así como consejos sobre privacidad y seguridad.

Di lo que piensas

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *