Se já brincou com dados de redes sociais, pode ter encontrado uma ferramenta chamada "snscrape".
Como alguém que utiliza frequentemente várias ferramentas de software, descobri que o snscrape é uma óptima ferramenta para algumas tarefas, especialmente quando combinado com um proxy.
Portanto, vamos explicar o que é o snscrape, como funciona e por que pode ser um divisor de águas para seus fluxos de trabalho de coleta de dados.
TL;DR:
- O Snscrape é uma ferramenta Python para a recolha de dados de redes sociais sem utilizar uma API.
- Funciona com Twitter/X, Facebook, Instagram, Reddite muito mais.
- Pode extrair tweets, perfis de utilizadores, hashtags e guardá-los em CSV.
- Para a raspagem em grande escala, utilize proxies para evitar bloqueios e limites de taxa.

Índice
- O que é o Snscrape?
- Como é que o Snscrape funciona?
- Como utilizar o Snscrape
- Que dados podem ser extraídos do Twitter com o Snscrape?
- Casos de utilização do Snscrape
- Como adicionar um proxy ao Snscrape
- Por que você deve usar um proxy com o Snscrape
- Alternativas ao Snscrape
- O Snscrape é legal?
- Perguntas frequentes sobre o Snscrape
- Considerações Finais
1. O que é o Snscrape?

Snscrape é uma biblioteca Python que lhe permite extrair dados de plataformas de redes sociais como X (Twitter), Facebook e Instagram.
Ao contrário de muitas outras ferramentas de raspagem, o snscrape não requer uma chave de API, o que o torna utilizável por um leque mais vasto de utilizadores, incluindo aqueles que podem não ter os conhecimentos técnicos para utilizar APIs.
Benefícios do Snscrape
O Snscrape tem várias vantagens que vale a pena referir:
- Não é necessária uma chave API: Esta é uma vantagem significativa. A maioria das plataformas de redes sociais requer uma chave API para a recolha de dados, o que pode ser um problema para muitos utilizadores. Esta é uma das razões pelas quais muitas pessoas preferem o Snscrape.
- Flexibilidade: Pode adaptar as suas consultas de pesquisa para que sejam tão amplas ou tão específicas quanto necessário. Esta flexibilidade é crucial para a investigação que requer uma recolha de dados com nuances.
- Facilidade de utilização: Para quem está familiarizado com Python, o snscrape é de fácil utilização. Os seus comandos e estrutura simples facilitam a integração no seu fluxo de trabalho de recolha de dados.
2. Como é que o Snscrape funciona?
A utilização do snscrape é relativamente simples, especialmente se tiver um conhecimento básico de Python.
A ferramenta funciona através da recolha de dados disponíveis publicamente nos sítios Web das redes sociais. Por exemplo, pode ser utilizada para recolher tweets que contenham palavras-chave específicas, hashtags ou de determinados utilizadores.
Eis um exemplo simples:
Se quiser recolher tweets que contenha a hashtag #technology, escreveria um script Python utilizando snscrape para procurar esta hashtag e, em seguida, extrair os tweets relevantes.
Eis como funciona o Snscrape:
- Snscrape: O utilizador executa o Snscrape no seu computador para recolher publicações públicas de plataformas como o X (Twitter).
- Proxy: Um proxy oculta o seu IP e ajuda a evitar bloqueios durante a recolha de dados.
- Web: O Snscrape envia pedidos para o sítio Web e carrega dados públicos, como tweets.
- Dados: Em seguida, transforma esses dados num formato limpo e legível - como JSON ou CSV - para que possa utilizá-los.

3. Como utilizar o Snscrape
Para começar, precisará de uma configuração básica que inclua o Python instalado no seu computador. Depois, pode instalar o snscrape utilizando o pip, o instalador de pacotes do Python. Uma vez instalado, pode começar a escrever scripts para extrair os dados de que necessita.
Eis um guia simples para começar a utilizar esta poderosa ferramenta.
a. Instalação
Primeiro, é necessário instalar o snscrape. Abra seu prompt de comando ou terminal e digite o seguinte comando:
código bashCopy
pip install snscrape
Este comando utiliza o gestor de pacotes do Python, pip, para descarregar e instalar o scraper.
b. Escrever um guião básico
Depois de o instalar, pode começar a escrever um script Python para recolher dados. Digamos que quer recolher tweets com uma hashtag específica. Aqui está um exemplo básico:
import snscrape.modules.twitter as sntwitter # Definir o número de tweets a recolher max_tweets = 100 # Utilizar o TwitterSearchScraper para recolher dados e anexar tweets à lista for i, tweet in enumerate(sntwitter.TwitterSearchScraper('#technology').get_items()): if i > max_tweets: break print(tweet.content)
Este script recolhe os últimos 100 tweets que contêm o hashtag #technology.
c. Executar o Script
Guarde o seu script como um .py e execute-o usando Python. O script será executado e deverá começar a ver tweets impressos na sua linha de comandos ou terminal.
d. Como personalizar a sua consulta
Pode modificar facilmente a sua consulta de pesquisa. Por exemplo, se pretender recolher tweets de um utilizador específico, pode alterar a consulta no TwitterSearchScraper método:
sntwitter.TwitterSearchScraper('from:username')
Substituir nome de utilizador com o identificador do Twitter do utilizador cujos tweets pretende recolher.
e. Tratamento dos dados
Os dados que recolhe podem ser armazenados em vários formatos. Por exemplo, pode querer guardar os tweets num ficheiro CSV para facilitar a análise. Pode modificar o seu script para escrever os dados recolhidos num ficheiro:
import csv # ... [código anterior] # Abrir/criar um ficheiro para anexar dados a csvFile = open('scraped_tweets.csv', 'a', newline='', encoding='utf8') # Utilizar o escritor csv 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á o ID do tweet, a data e o conteúdo num ficheiro CSV com o nome tweets_raspados.csv.
Obter resultados consistentes 📊
Cansado de respostas inconsistentes do snscrape? IPs residenciais limpos reduzem captchas e solicitações bloqueadas.
Melhorar a estabilidade da raspagem4. Que dados podem ser extraídos do Twitter com o Snscrape?
O Snscrape pode ajudá-lo a extrair uma vasta gama de dados do X (Twitter). Aqui está um resumo dos vários pontos de dados que pode extrair com o snscrape:
a. Tweets
A principal utilização do snscrape é a recolha de tweets. Isso inclui:
- Tweet conteúdo: O texto real do tweet.
- ID do Tweet: Um identificador único para cada tweet.
- Data e hora: Quando o tweet foi publicado.
- URLs: Quaisquer ligações incluídas no tweet.
b. Informações do utilizador
O Snscrape permite-lhe recolher informações sobre os utilizadores do Twitter, tais como:
- Nome de utilizador: O identificador do utilizador no Twitter.
- ID do utilizador: Um identificador único para cada utilizador.
- Descrição do perfil: A biografia do utilizador ou a descrição do perfil.
- Localização: A localização fornecida pelo utilizador no seu perfil (se disponível).
c. Métricas de envolvimento
Embora o snscrape não obtenha diretamente métricas de envolvimento, como gostos ou retweets, pode ainda assim recolhê-las:
- Contagem de retweets: O número de vezes que um tweet foi retweetado (para alguns tweets).
- Contagem de respostas: O número de respostas a um tweet (para alguns tweets).
d. Hashtags e menções
O Snscrape pode extrair elementos específicos dos tweets, incluindo:
- Hashtags: Quaisquer hashtags utilizadas no tweet.
- Menções: Nomes de utilizador de outras contas X (Twitter) mencionadas no tweet.
e. Conteúdo dos meios de comunicação social
Se um tweet contiver conteúdos multimédia, o snscrape pode ajudá-lo a identificar:
- URLs dos meios de comunicação: Ligações para imagens ou vídeos anexados ao tweet.
f. Consultas de pesquisa avançadas
O Snscrape é capaz de lidar com consultas de pesquisa avançadas, permitindo-lhe recolher tweets com base em:
- Palavras-chave: Tweets que contêm palavras ou frases específicas.
- Intervalos de datas: Tweets publicados dentro de um período de tempo específico.
- Localização geográfica: Tweets de uma localização geográfica específica (se os dados de localização estiverem disponíveis).
Cada tweet incluiria campos como:
id: ID única do tweetdata: Quando o tweet foi publicadoconteúdo: Texto completo do tweetutilizador.nome de utilizador: Quem o publicouretweetCount,likeCount, etc.
g. Dados de tópicos e conversas
Também pode utilizar o snscrape para seguir tópicos de conversação, extraindo:
- Tweets de conversação: Respostas e tweets citados, permitindo-lhe acompanhar as conversas.
5. Casos de uso do Snscrape: Do simples ao avançado
Snscrape tem uma vasta gama de aplicações. Eis como as pessoas estão a pô-lo a funcionar - desde a raspagem quotidiana a configurações mais avançadas e automatizadas.
a. Casos de utilização quotidiana do Snscrape
Seguem-se as formas mais comuns de os utilizadores tirarem partido do snscrape para tarefas pontuais ou projectos de pequena escala:
- Estudos de mercado: Recolha de menções de produtos, marcas ou tendências para compreender como as pessoas falam sobre eles em tempo real.
- Investigação académica: Recolher conjuntos de dados para estudos sobre discurso político, comportamento em linha ou opinião pública.
Não é necessária uma configuração enorme - basta um script Python e uma consulta de pesquisa clara.
b. Automatizar Scrapes com Cronjobs
Se pretender recolher dados continuamente - diariamente, de hora a hora ou semanalmente - pode agendar o script snscrape utilizando cronjobs (Linux/macOS) ou o Agendador de Tarefas do Windows.
Isto é ideal para captar menções diárias ou de hora a hora ou para criar dados de séries temporais para tendências ou sentimentos.
| Dica profissional: Certifique-se de que o seu script roda os nomes dos ficheiros e lida com os limites de taxa se quiser evitar a substituição de dados ou bloqueios do servidor. |
c. Scraping geo-direcionada para obter informações locais
Precisa de dados baseados na localização? O Snscrape suporta filtros geográficos utilizando "perto:" e "dentro de:" na sua consulta.
Exemplo:
|
1 |
inundação próximo:"Nova Orleães" dentro de:15 km |
Utilize-o para coisas como: monitorização da resposta a catástrofes regionais ou sentimento ou menções de marcas específicas de uma cidade.
Pode até combinar isto com desde então: e até: para dados específicos da data.
d. Rastreio de threads e pipelines de ciência de dados
Para uma análise mais complexa, o snscrape é frequentemente utilizado para:
- Extrair tópicos de conversação completos (incluindo respostas e citações)
- Criar conjuntos de dados etiquetados para PNL, modelação de tópicos ou aprendizagem automática
- Simplificar a extração de tweets para um DataFrame do pandas para pré-processamento
Exemplo:
|
1 |
df = pd.DataFrame([tweet.conteúdo para tweet em tweets], colunas=['texto']) |
Desde a classificação de sentimentos até ao agrupamento de conversas por tema, o Snscrape é um dos favoritos na ciência dos dados e a comunidade de investigação.
6. Como adicionar um proxy ao Snscrape
Adição um procurador para snscrape pode melhorar suas capacidades de raspagem dez vezes. Proporciona anonimato e ultrapassa os limites de taxa, bem como o conteúdo bloqueado geograficamente.
Aqui está um guia passo a passo sobre como integrar um proxy com o snscrape:
a. Escolher um serviço de proxy
Selecione um serviço de proxy fiável. Existem vários tipos de procurações disponíveis, incluindo serviços gratuitos e pagos. Estes últimos oferecem geralmente maior fiabilidade e velocidade. Sugiro os seguintes tipos de proxy para usar com o Snscrap.
- Residencial rotativo para invisibilidade
- Datacenter proxies para velocidade
- Proxies móveis para a recolha de dados do Instagram
b. Obter informações sobre o seu representante
Depois de ter escolhido um serviço de proxy, reúna as informações necessárias: o endereço do servidor proxy, o número da porta e, se aplicável, o nome de utilizador e a palavra-passe.
| 🚨 Atenção: O Snscrape não suporta nativamente a injeção de sessão, pelo que a utilização de proxy é indireta através do seu objeto de sessão de pedido. |
c. Configurar o seu script Python
De seguida, terá de modificar o seu script Python para encaminhar os pedidos snscrape através do proxy.
Eis um exemplo de como o fazer:
import snscrape.modules.twitter as sntwitter import requests # Configuração de proxy proxies = { 'http': 'http://username:password@proxyserver:port', 'https': 'https://username:password@proxyserver:port', } # Criar uma sessão e configurá-la para utilizar o proxy session = requests.Session() session.proxies.update(proxies) # Utilizar o snscrape com a sessão for tweet in sntwitter.TwitterSearchScraper('keyword', session=session).get_items(): print(tweet.content)
Substituir nome de utilizador, palavra-passe, servidor proxys, e porto com os dados do seu procurador. A palavra-chave deve ser substituído pelo seu termo de pesquisa.
7. Por que você deve usar um proxy com o Snscrape
- Contornar limites de taxa: Os proxies podem ajudar a evitar atingir os limites de taxa do X (Twitter), distribuindo os pedidos por diferentes endereços IP.
- Evitar proibições de IP: O scraping regular a partir do mesmo IP pode levar a proibições. Os proxies atenuam este risco ao rodar o seu endereço IP.
- Aceder a conteúdos geograficamente restritos: Os proxies podem fornecer endereços IP de diferentes localizações, permitindo o acesso a conteúdos específicos de uma região.
- Anonimato e privacidade: A utilização de um proxy oculta o seu endereço IP real, aumentando a sua privacidade e reduzindo o risco de ser seguido.
- Desempenho melhorado: Os proxies podem levar a uma recuperação mais rápida dos dados e reduzir os riscos de sobrecarga do servidor, distribuindo a carga.
8. Alternativas ao Snscrape
Embora o snscrape seja uma ferramenta robusta para a recolha de dados de redes sociais, há situações em que pode precisar de uma alternativa (melhores ferramentas de recolha de dados da Web). Seja devido a diferentes requisitos de recursos, suporte de plataforma ou facilidade de uso, verificar outras ferramentas pode ser útil. Aqui estão algumas alternativas notáveis ao snscrape:
| Ferramenta | Melhor para | Sem API? | Necessita de codificação? |
| Snscrape | Twitter/X scraping | ✅ | ✅ |
| Twint | Grandes conjuntos de dados do Twitter | ✅ | ✅ |
| Scrapy | Raspagem geral de sítios Web | ❌ | ✅ |
| Octoparse | Raspagem baseada em GUI (sem codificação) | ✅ | ❌ |
| ParseHub | Páginas complexas (JS/AJAX pesado) | ✅ | ❌ |
a. Twint
Twint é outra biblioteca Python popular para recolha de dados do Twitter dados. É conhecido pela sua capacidade de recolher um grande número de tweets sem necessitar da API do Twitter ou de qualquer autenticação. O Twint pode obter uma variedade de informações, incluindo tweets, seguidores, gostos e muito mais. É particularmente útil para quem precisa de recolher grandes conjuntos de dados do Twitter.
b. Sucata
Scrapy é uma forma mais geral de raspando a web em Python. Embora não tenha sido especificamente concebido para as redes sociais, é incrivelmente poderoso para extrair dados de qualquer sítio Web. O Scrapy é adequado para tarefas de recolha de dados complexas e oferece uma personalização e controlo extensivos sobre as suas tarefas de recolha de dados. É ideal para utilizadores com competências de programação mais avançadas e que necessitam de extrair dados de várias fontes.
c. Bela Sopa
BeautifulSoup é uma biblioteca Python para analisar documentos HTML e XML. É frequentemente utilizada em combinação com uma biblioteca de pedidos para extrair dados de páginas Web. Embora exija mais configuração em comparação com snscrape, BeautifulSoup oferece grande flexibilidade e é poderosa na extração de dados de páginas Web que não são necessariamente plataformas de redes sociais.
d. Octoparse
Octoparse é uma ferramenta de extração de dados fácil de utilizar, que aponta e clica, que não requer quaisquer competências de codificação. É adequada para não programadores ou para quem prefere uma interface gráfica para tarefas de extração de dados. O Octoparse pode lidar com a extração de dados simples e complexos de vários tipos de páginas Web, incluindo sites de redes sociais.
e. Data Miner
Data Miner é uma extensão dos navegadores Chrome e Edge que lhe permite extrair dados de páginas Web para uma variedade de formatos de ficheiro, incluindo o Excel e o Google Sheets. É muito fácil de utilizar e adequada para quem precisa de extrair dados rapidamente sem escrever qualquer código.
f. ParseHub
ParseHub é uma ferramenta visual de extração de dados que está equipada com tecnologia de aprendizagem automática para identificar, extrair e transformar dados de páginas Web. Consulte a nossa ParseHub revisão. É uma ferramenta poderosa para a recolha de dados de sítios Web complexos e pode lidar com sítios Web com JavaScript e AJAX.
9. O Snscrape é legal?
Sim-O snscrape recolhe apenas dados visíveis publicamentecomo tweets, nomes de utilizador, hashtags e carimbos de data/hora. Faz não aceder a mensagens privadas ou a conteúdos protegidos por início de sessão.
Dito isto, a legalidade nem sempre é preta e branca. Embora a recolha de dados públicos seja geralmente legal, plataformas como o Twitter/X e o Instagram têm termos de serviço que podem proibir o acesso automatizado.
🛡️ Como utilizar o snscrape de forma responsável:
- Não faça scraping atrás de paywalls ou logins
- Respeitar os limites de taxa e a integridade do sítio
- Verificar sempre as políticas mais recentes da plataforma
Saiba mais em: A raspagem da Web é legal?
10. Perguntas frequentes sobre o Snscrape
Snscrape é uma ferramenta baseada em Python para raspar dados públicos de plataformas como Twitter (agora X), Instagram, Facebook e Reddit. É normalmente utilizada para recolher tweets, seguir hashtags, monitorizar a atividade dos utilizadores ou criar conjuntos de dados para investigação e análise de dados - tudo isto sem necessitar de uma chave API.
O Snscrape é melhor para a raspagem casual ou flexível de dados públicos do Twitter porque não requer uma chave de API e tem menos etapas de configuração ou limites de taxa. No entanto, ele não tem o acesso completo e os pontos de extremidade estruturados oferecidos pela API oficial do Twitter. Portanto, isso torna a API mais adequada para casos de uso corporativo ou em larga escala.
O Snscrape tem um suporte limitado para o Instagram e o Facebook. O scraping destas plataformas é menos fiável devido às frequentes alterações de layout e às medidas anti-bot. O Snscrape funciona melhor com o Twitter e o Reddit, enquanto o scraping do Facebook e do Instagram pode falhar com mais frequência e exigir ferramentas adicionais, como proxies.
Sim, pode ser bloqueado se fizer scraping de forma demasiado agressiva ou enviar demasiados pedidos num curto espaço de tempo. Para evitar isso, recomendamos vivamente que implemente atrasos nos pedidos ou utilize serviços de proxy para rodar IPs e contornar os limites de taxa. Tudo isto mantendo o acesso a dados públicos.
11. Palavras finais
O Snscrape é uma excelente ferramenta para a extração de dados de redes sociais. Com conhecimentos básicos de Python, pode personalizar a sua extração de dados para satisfazer uma vasta gama de necessidades.
Certifique-se apenas de que utiliza o snscrape de forma correta e ética para evitar quaisquer problemas.
Executar o Snscrape em escala 🚀
Grandes conjuntos de dados significam mais pedidos. Evite interrupções ou bloqueios de IP distribuindo o tráfego com proxies residenciais rotativos.
Raspar sem limites



0Comentários