COMO VISUALIZAR SUA REDE NO FACEBOOK (sobre técnicas e ferramentas de investigação de dados.)
COMO VISUALIZAR SUA REDE NO FACEBOOK
Facebook conhece a rede social de mais de um bilhão de pessoas. Se você é um usuário do Facebook , porém, você tem poucas ferramentas para explorar sua própria rede social. Vamos ver como, com algumas ferramentas de raspagem, um banco de dados gráfico Neo4j e Linkurious, podemos visualizar nossa rede Facebook.
Não existe uma solução fácil para visualizar a sua rede Facebook. Facebook está restringindo o acesso à sua API. Como resultado, o Netvizz, um aplicativo para visualizar a rede do Facebook, foi recentemente descontinuado . Visualizar sua rede Facebook tornou-se difícil.
Hervé Piedcoq , analista de dados e especialista em OSINT vai lhe mostrar um método para 1) coletar, 2) armazenar e 3) visualizar sua rede Facebook.
Coletando os dados para construir sua rede do Facebook
1º passo: faça o download da lista dos seus amigos
Vamos usar OutWit Hub , um poderoso, mas fácil de usar raspador, baseado em Mozilla e XUL. Ele tem built-in funcionalidades como a tabela e lista de detecção, um motor extractor baseado no código-fonte de uma página web, macros e ferramentas de trabalho.
Poderíamos, é claro, usar o Python ou outros idiomas para raspar o Facebook, mas o OutWit Hub é claramente orientado para não-programador e imediatamente operacional.
Conecte-se à sua conta via Hub OutWit e exiba a lista completa de seus amigos.
OutWit Hub usa o código fonte da página da web para raspar os dados. O problema é que o Facebook usa um monte de JavaScript que polui o código e realmente torna difícil analisar.
Uma boa maneira de evitar esse problema é salvar essa página da Web em HTML no disco rígido e abri-la como uma página estática no Hub OutWit.
No painel esquerdo, clique em "links" ("links" em francês), para pegar todos os links presentes nesta página.
Filtre esses links usando este regex na caixa de canto inferior esquerdo:
/(\?href|&href|hc_loca)/
Agora, exporte a seleção para um arquivo csv.
Basta substituir os valores na coluna Url Source, com o ID do seu perfil, e renomeá-lo "Source". Renomear Página do URL como "Alvo".
Neste ponto, se você importou esse arquivo em um visualizador de gráfico de sua escolha, você obteria algo parecido:
Este gráfico é bom, como você começa uma visão instantânea na lista de seus amigos, mas não realmente interessante em termos de análise de rede social. O que falta são as relações entre seus amigos.
2º passo: limpe sua lista e exporte para html
Para esta parte, vamos usar o Openrefine para limpar um pouco os URLs. Seus dados devem ser parecidos com isto:
Fonte | Alvo |
---|---|
Https://www.facebook.com/My_profile | Https://www.facebook.com/John.doe |
Https://www.facebook.com/My_profile | Https://www.facebook.com/profile.php?id=012345678910 |
Observe que o FaceBook usa dois tipos de URLs:
- O antigo que contém profile.php nele;
- O novo que contém apenas o apelido.
Isto implica que temos de limpar separadamente estes dois tipos de URLs.
Colunas "Fonte" e "Target" não vai mudar, mas vamos construir uma terceira coluna "C", com base na coluna B e A. Esta coluna irá conter um link para um URL especial do Facebook, que exibe os amigos comuns Entre você e outro amigo.
Basta usar uma função concatenar para conseguir isso: Ou:
cells["Source"].value+"/
friends?and="+cells["Target"].value.partition("=")[2]
cells["Source"].value+"/
friends?and="+cells["Target"].value.partition("com/")[2]
O resultado deve ser semelhante a este:
Fonte | Alvo | URL |
---|---|---|
Https: //www.facebook/com/My_profile | Https: //www.facebook/com/John.doe | Https://www.facebook.com/My_profile/friends?and=John.doe |
Https: //www.facebook/com/My_profile | Https: //www.facebook/com/profile.php? Id = 012345678910 | Https://www.facebook.com/My_profile/friends?and=012345678910 |
Agora precisamos transformar a coluna URL em um link HTML que pode ser facilmente analisado por OutWit Hub:
Fonte | Alvo | URL |
---|---|---|
Https: //www.facebook/com/My_profile | Https: //www.facebook/com/John.doe | <a href="https://www.facebook.com/My_profile/friends?and=John.doe"> https://www.facebook.com/Your-profile-ID/friends?and=John.doe < / A> |
Https: //www.facebook/com/My_profile | Https: //www.facebook/com/profile.php? Id = 012345678910 | <a href="https://www.facebook.com/My_profile/friends?and=012345678910"> https://www.facebook.com/Your-profile-ID/friends?and=012345678910 </a> |
Isso permitirá que o OutWit Hub extraia seus amigos comuns visitando o link HTML.
Depois de feito, exporte este projeto para HTML.
3º passo: raspe os dados!
Abra o arquivo HTML no Hub OutWit. Observe que a coluna de URL é vista como um link por Outwit.
Crie uma macro no Hub OutWit, que analisará cada link nesta página. É basicamente as mesmas operações que o passo 1, mas automatizado.
Dependendo do número de amigos que você tem e da máquina em que está trabalhando, esse processo pode durar várias horas.
Uma vez feito, você receberá um arquivo CSV com seu conjunto de dados. Neste ponto, você pode anexar este arquivo com sua lista inicial de amigos (etapa 1) e limpar as entradas duplas que podem aparecer, usando Openrefine.
Como você vê, construir um bom conjunto de dados com o Facebook não é realmente trivial, mas pode ser alcançado combinando raspagem e técnicas de limpeza de dados.
Armazenando seu gráfico do Facebook no Neo4j
É difícil entender as conexões em sua rede do Facebook com uma ferramenta como o Excel. Vamos usar o banco de dados Neo4j para armazenar os dados.
Veja como importar seus dados formatados para CSV no Neo4j:
// - --------------------- | |
// Importar pessoas | |
// - --------------------- | |
CREATE CONSTRAINT ON (a: PEOPLE) ASSERT a . Id É ÚNICO; | |
USANDO COMISSÃO PERIÓDICA 2000 | |
LOAD CSV WITH HEADERS FROM " arquivo: c: / my-facebook-network.csv " AS linha | |
FIELDTERMINATOR ' , ' | |
Com linha | |
WHERE linha .File = " common-friends.csv " | |
MERGE (a: PESSOAS {id: line .Target}); | |
USANDO COMISSÃO PERIÓDICA 2000 | |
LOAD CSV WITH HEADERS FROM " arquivo: c: / my-facebook-network.csv " AS linha | |
FIELDTERMINATOR ' , ' | |
Com linha | |
WHERE linha .File = " friends.csv " | |
MERGE (a: PESSOAS {id: line .Source}); | |
// - --------------------- | |
// Relações entre pessoas | |
// - --------------------- | |
USANDO COMISSÃO PERIÓDICA 2000 | |
LOAD CSV WITH HEADERS FROM " arquivo: c: / my-facebook-network.csv " AS linha | |
FIELDTERMINATOR ' , ' | |
MATCH (b: PESSOAS {id: line .Source}) | |
MATCH (a: PESSOAS {id: line .Target}) | |
MERGE (a) - [r: IS_FRIEND_WITH] - > (b); |
Você pode baixar o conjunto de dados Neo4j usado neste artigo aqui . Agora podemos pesquisar e visualizar nossa rede.
Visualizando seu gráfico do Facebook
Neo4j oferece uma ferramenta de visualização fora da caixa. Ele permite que você visualize consultas Cypher, uma linguagem de consulta gráfica:
Se você quiser algo mais fácil e mais poderoso, você pode usar Linkurious para explorar sua rede Facebook ( tente Linkurious agora ).
Basta digitar o nome de qualquer um de seus contatos, e você irá visualizá-lo.
Podemos também ampliar detalhes específicos.
Você pode selecionar nós, ocultá-los com base em suas propriedades. Você pode procurar caminhos entre duas pessoas. Tudo via uma interface fácil de usar.
A visualização de gráficos permite-lhe compreender a sua rede social. Você pode ver quem sabe quem. Quem tem um monte de conexões. Quem está isolado. Quais são as comunidades dentro de sua rede. Tudo isto pode ser descoberto através da exploração visual.
Siga Hervé Piedcoq para se manter atualizado sobre técnicas e ferramentas de investigação de dados. Você pode tentar Linkurious agora e aprender a usar a visualização de gráficos para entender seus dados.
Comentários
Postar um comentário