analise de dados

Domine a raspagem do Facebook com Python: dicas, truques e ferramentas que você deve saber

Hoje em dia, as plataformas sociais são bastante populares. Sites uma vez que YouTube, Facebook, Instagram, etc. são amplamente usados ​​por bilhões de pessoas. Esses sites têm muitos dados que podem ser usados ​​para estudo de sentimento contra qualquer incidente, previsão de eleições, previsão de resultados de qualquer grande evento, etc. Se você tiver esses dados, poderá averiguar o risco de qualquer decisão.

Nesta postagem, vamos web-scrape páginas públicas do Facebook usando Píton e Selênio. Também discutiremos as bibliotecas e ferramentas necessárias para o processo. Logo, se você estiver interessado em web scraping e estudo de dados, continue lendo!

Leia mais sobre web scraping com Python e BeautifulSoup e comece sua estudo hoje mesmo.

O que precisamos antes de ortografar o código?

Nós vamos usar Python 3.x para nascente tutorial, e presumo que você já o tenha instalado em sua máquina. Fora isso, precisamos instalar duas bibliotecas III-party BeautifulSoup e Selênio.

  • BeautifulSoup — Isso nos ajudará a averiguar o HTML bruto e extrair os dados de que precisamos. Também é publicado uma vez que BS4.
  • Selênio — Isso nos ajudará a renderizar sites JavaScript.
  • Também precisamos de cromo para renderizar sites usando a API Selenium. Você pode baixá-lo de .

Antes de instalar essas bibliotecas, você deve gerar uma pasta onde manterá o script python.

Agora, gerar um registro python dentro desta pasta. Você pode usar qualquer nome e, finalmente, instalar essas bibliotecas.

O que vamos extrair de uma página do Facebook?

Vamos coletar endereços, números de telefone e e-mails de nossa página de fado.

Primeiro, vamos extrair o HTML bruto usando o Selenium da página do Facebook e depois vamos usar. encontrar() e .encontrar tudo() métodos do BS4 para averiguar esses dados do HTML bruto. O Chromium será usado em coordenação com o Selenium para carregar o site.

Ler sobre: Porquê raspar dados do Twitter sem a API do Twitter usando o SNScrape.

Vamos principiar a raspar

Vamos primeiro ortografar um pequeno código para ver se tudo funciona muito para nós.

Vamos entender o código supra passo a passo.

  • Importamos todas as bibliotecas que instalamos anteriormente. Também importamos a livraria de tempo. Ele servirá para o driver esperar um pouco mais antes de fechar o driver chromium.
  • Logo nós declaramos o CAMINHO do nosso driver de cromo. Leste é o caminho onde você manteve o chromedriver.
  • um vazio lista e um objeto para armazenar dados.
  • Meta URL segura a página que vamos raspar.
  • Logo usando .Cromada() método vamos gerar uma instância para renderização do site.
  • Logo usando .pegar() método da API do Selenium vamos terebrar a página de fado.
  • .dormir() O método pausará o script por dois segundos.
  • Logo usando .nascente da página coletamos todo o HTML bruto da página.
  • .fechar() O método fechará a instância do chrome.

Depois de executar nascente código, ele abrirá uma instância do Chrome, abrirá a página de fado e, posteriormente esperar dois segundos, a instância do Chrome será fechada. Pela primeira vez, a instância do chrome abrirá um pouco lentamente, mas depois de duas ou três vezes funcionará mais rápido.

Depois de inspecionar a página, você descobrirá que a seção de introdução, a seção de detalhes do contato e a seção da galeria de fotos têm os mesmos nomes de classe

com uma div. Mas uma vez que para nascente tutorial, nosso foco principal está nos detalhes de contato, portanto, focaremos na segunda tag div.

Vamos encontrar esse elemento usando o .encontrar() fornecido pela API BS4.

Criamos uma árvore de estudo usando BeautifulSoup e agora vamos extrair dados cruciais dela.

Usando .encontrar tudo() método estamos procurando por todas as tags div com classe


e logo selecionamos o segundo elemento da lista.

Agora, cá está uma pegadinha. Cada elemento nesta lista tem a mesma classe e tag. Portanto, temos que usar expressões regulares para encontrar as informações que precisamos extrair.

Vamos encontrar todas essas tags de elemento e depois usaremos um para loop iterar sobre cada um desses elementos para identificar qual elemento é o quê.

Cá está uma vez que vamos identificar o endereço, número e e-mail.

  • O endereço podem ser identificados se o texto contiver mais de duas vírgulas.
  • O número podem ser identificados se o texto contiver mais de dois traços (-).
  • E-mail podem ser identificados se o texto contiver “@” iniciar.

Executamos um loop for em todos os detalhes variável. Logo estamos um a um identificando qual elemento é o quê. Logo, finalmente, se eles satisfizerem o se quesito estamos armazenando-o no objeto o.

No final, você pode apender o objeto o na lista eu e imprimi-lo.

Depois de executar nascente código, você encontrará nascente resultado.

Código Completo

Podemos fazer mais alterações nesse código para extrair mais informações da página. Mas, por enquanto, o código ficará assim.

Peroração

Hoje raspamos a página do Facebook para coletar e-mails para geração de leads. Agora, nascente é exclusivamente um exemplo de raspagem de uma única página. Se você tiver milhares de páginas, podemos usar o Prespirar livraria para armazenar todos os dados em um registro CSV. Deixo esta tarefa para você uma vez que obrigação de morada.

Espero que gostem deste pequeno tutorial e, se gostarem, não se esqueçam de o partilhar com os vossos amigos e nas vossas redes sociais.

Artigos relacionados

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Botão Voltar ao topo