Scraping de Dados do LinkedIn: Guia Profissional de Scraping + Código

Scraping Data From LinkedIn

Vamos Esclarecer Primeiro: É Legal?

Obter dados do LinkedIn através de scraping – está dentro da lei ou não?

O LinkedIn é uma plataforma de rede social voltada para negócios que se tornou um recurso vital para conectar-se com outros profissionais e desenvolver redes profissionais. Devido à enorme quantidade de dados disponíveis no LinkedIn, algumas pessoas ou empresas têm interesse em obter informações do site para seus próprios usos.

Portanto, naturalmente, como uma empresa, o LinkedIn aplica certas regras para proteger os dados de seus usuários – tanto dados de domínio público quanto dados pessoais ocultos. As suas regras proíbem o uso de métodos automatizados para recolha de dados da sua plataforma, incluindo scraping, crawling, mineração de dados (Data Mining), entre outros.

O LinkedIn utiliza uma série de proteções técnicas, incluindo restrições de taxa de acesso, CAPTCHAs e bloqueio de IP, para limitar o acesso ilegal à sua plataforma e a “raspagem” (scraping) automatizada de dados. Essas medidas têm o objetivo de garantir que apenas usuários autorizados tenham acesso à plataforma e aos seus dados.

Domínio Público

Aqui está o que importa: as políticas corporativas do LinkedIn não tornam o scraping de dados do LinkedIn antiética, ilegal ou perigosa – desde que você esteja “raspando” dados de domínio público. As leis da União Europeia e dos Estados Unidos não proíbem de forma alguma o scraping de dados de domínio público, mesmo que a política da empresa local seja contra isso.

Embora o Supremo Tribunal dos Estados Unidos recentemente tenha invalidado leis que tornavam ilegal pesquisar bases de dados online em busca de informações, ele não abordou a questão do scraping. Isso significa que continua perfeitamente legal aceder ao LinkedIn e obter todas as informações disponíveis sobre alguém. Recomendamos sempre trabalhar dentro dos limites da lei.

Portanto, lembre-se: o que você “raspa” deve ser sempre de acesso livre para todos.

Scraping Data From LinkedIn

Utilizando o Selenium para Obter Dados do LinkedIn

Existem várias tecnologias que podem ser usadas para realizar o scraping de dados em websites, sendo o Selenium uma ferramenta de automação bastante popular.

A capacidade de interagir com páginas web, modelar o comportamento do utilizador e automatizar operações são apenas algumas das características que tornam o Selenium uma ferramenta eficaz para raspagem de dados na web.

Configurar o Selenium no seu Computador

Para utilizar o Selenium com Python, é necessário ter o Python instalado no seu computador. Pode baixar o Python no site oficial do Python.

Depois de instalar o Python, será necessário instalar o pacote do Selenium executando o comando *pip install selenium* num prompt de comando ou numa janela de terminal.

Importar o Driver

O Selenium requer um driver específico para interagir com as páginas web. Pode baixar o driver correspondente ao seu navegador preferido no site oficial do Selenium.

Após baixar o driver, será necessário especificar no seu código, o local onde o driver se encontra, adicionando algumas linhas de código no início do seu script.

from selenium import webdriver
driver = webdriver.Chrome('/path/to/chromedriver')

Com o seu web driver configurado, está pronto para começar a escrever o código de Scraping da web. Quando terminar, certifique-se de fechar o web driver, adicionando uma linha de código no final do seu script para libertar recursos do sistema.

driver.quit()

Exemplo

Aqui está um exemplo de uso do Selenium para Scraping da web, para obter dados de uma tabela numa página web. Aqui está um exemplo em Python de como fazer isso:

from selenium import webdriver
driver = webdriver.Chrome()
driver.get('https://example.com/table')

# Find the table element
table = driver.find_element_by_css_selector('table')

# Get the column headers
headers = [header.text for header in table.find_elements_by_css_selector('theader')]

# Get the data rows
rows = []
for row in table.find_elements_by_css_selector('trow'):
rows.append([cell.text for cell in row.find_elements_by_css_selector('tdata')])

driver.quit()

print(headers)
print(rows)

Neste exemplo, começamos por encontrar a página web com a tabela que desejamos “raspar”. Em seguida, localizamos o elemento da tabela e obtemos as linhas de dados e os cabeçalhos das colunas usando o Selenium. Os itens “theader” da tabela são todos localizados e o seu texto é extraído para obter os cabeçalhos das colunas.

Ao localizar cada elemento “trow” na tabela e obter o texto de cada um de seus elementos filhos “tdata”, obtemos as linhas de dados. O web driver é então encerrado e as linhas de dados e os cabeçalhos das colunas são impressos.

Fazendo o Scraping de Dados do LinkedIn com Python

Para começar, importamos as bibliotecas necessárias, como o pandas e o Selenium. Em seguida, utilizamos a biblioteca Selenium para o scraping de dados do LinkedIn. Os módulos da biblioteca Selenium usados neste código são os seguintes: Webdriver, expected conditions, options, Keys e sleep do módulo time.

É importante observar que o web scraping requer um web driver. Neste exemplo, usaremos o navegador Chrome e o driver do Chrome é baixado da internet.

import pandas as pd
import time
import random
import requests
from time import sleep
from bs4 import BeautifulSoup
from parsel import Selector
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.chrome.options import Options
from selenium.webdriver.common.keys import Keys
opts = Options()
import csv

driver = webdriver.Chrome(options=opts, executable_path= "chromedriver")

O código começa com uma função chamada def validate_field. Aqui, validamos o campo para verificar se ele existe na página. Se o campo estiver presente, preenchemos os dados no campo.

# function to ensure all key data fields have a value
def validate_field(field):
# if field is present pass if field:
if field:
pass
# if field is not present print text else:
else:
field = 'No results'
return field

Em seguida, usamos o método driver.get para navegar até o site oficial do LinkedIn, seguido pelo método driver.find_element para localizar os campos de email e senha.

Para extrair a tag e a classe de uma unidade específica, usamos o ID do container, conhecido como “session key”. Isso ajuda-nos a identificar corretamente e extrair os dados desejados, permitindo adicionar as informações necessárias ao parágrafo.

Para recuperar os dados necessários, usamos driver.find_element_by_id e especificamos o ID para ambos os containers. O ID para o primeiro container é “session key” e, para o segundo container, é “session password”.

Fazendo isso, identificamos e recuperamos corretamente as informações relevantes de ambos os containers, permitindo executar a ação necessária nos dados de cada container.

# driver.get method() will navigate to a page given by the URL address
driver.get('https://www.linkedin.com')
#locate email form by_class_name
username = driver.find_element(By.ID, "session_key")
# send keys(0) to simulate keystrokes
username.send_keys ("*****@gmail.com")
# sleep for 0.5 seconds
sleep(0.5)
# locate password form by_class_name
password = driver.find_element(By.ID,'session_password')
# send keys() to simulate key strokes
password.send_keys('*******')
sleep(0.5)
# locate submit button by xpath
sign_in_button = driver.find_element(By.XPATH,'//* [@type="submit"]')
# . click() to mimic button click
sign_in_button.click()
sleep(10)

Após fazer o login com sucesso no LinkedIn, precisamos encontrar os links dos utilizadores específicos de um campo específico. Por exemplo, suponhamos que queremos encontrar programadores Python.

Nesse caso, podemos pesquisar no Google e obteremos alguns resultados do LinkedIn. No entanto, queremos apenas os links dos utilizadores, por isso precisamos extrai-los.

# Task 2: Search for the profile we want to crawl

# Task 2.1: Locate the search bar element
search_field = driver.find_element(By.XPATH, '//*[@id="global-nav-typeahead"]/input')
# Task 2.2: Input the search query to the search bar
# search_query = input('What profile do you want to scrape? ')
search_field.send_keys('Python Developers')
# Task 2.3: Search
search_field.send_keys(Keys.RETURN)
# locate Peoples button by xpath
people = driver.find_element(By.XPATH,'//*[@id="search-reusables__filters-bar"]/ul/li[1]/button')
# . click() to mimic button click
people.click()
sleep(2)

Scraping Data From LinkedIn

Para isso, usamos um link específico que nos dará apenas os programadores Python de um local específico.

Uma vez que navegamos para este link, usamos o driver.get para ir a cada página com um determinado intervalo de tempo e ir buscar os links de cada página.

# Task 3: Scrape the URLs of the profiles
profiles = driver.find_elements(By.CLASS_NAME, 'app-aware-link')
all_profile_URL = []
for profile in profiles:
profile_ID = profile.get_attribute('href')
profile_URL = "https://www.linkedin.com" + profile_ID
if profile_URL not in all_profile_URL:
all_profile_URL.append(profile_URL)

print('- Finish Task 3: Scrape the URLs')

O Resultado

Scraping Data From LinkedIn

Agora, extraia os dados necessários dos links dos perfis “raspados”

Para extrair os links, usamos o método element.get_attribute(“href”) para obter o atributo href. Uma vez que temos o link, podemos navegar para a página de cada utilizador e obter os dados necessários.

Em conclusão, o web scraping pode ser uma maneira eficaz de recolher dados do LinkedIn. O Selenium e o Python fornecem uma combinação poderosa de ferramentas para web scraping, permitindo que os utilizadores obtenham dados valiosos da plataforma.

Utilizando o GoLogin para um Trabalho Seguro

Uma plataforma de automação online chamada GoLogin oferece aos desenvolvedores de sites uma técnica para evitar deteção, imitando a atividade de um utilizador real. É desafiador para os websites identificar o acesso automatizado devido à capacidade do GoLogin de gerar e gerenciar vários perfis de navegador com identidades distintas, como agentes de utilizador, impressões digitais e endereços IP.

Esta plataforma possui uma interface de utilizador intuitiva, funciona com uma grande variedade de navegadores e dispositivos, e possui tecnologia avançada de impressão digital que pode ajudar os desenvolvedores a evitar bloqueios de IP e dificuldades com CAPTCHA.

Com a tecnologia de impressão digital avançada do GoLogin, os desenvolvedores podem simular a impressão digital de um utilizador real. Essa tecnologia garante que tarefas automatizadas na web não disparem nenhum alarme, tornando praticamente impossível para os websites detetarem o acesso automatizado.

A plataforma também oferece integração de proxy, gestão de sessão e suporte a API, os quais podem acelerar e automatizar o processo de desenvolvimento.

Scraping Data From LinkedIn

Como configurar e usar o GoLogin para fazer scraping da web?

Passo 1: Criar uma conta

Criar uma conta no website do GoLogin é o primeiro passo para utilizar o serviço. Pode fazê-lo acedendo o website do GoLogin e criando uma conta utilizando o seu endereço de email.

Após criar uma conta, você pode fazer login na plataforma e começar a configurar os perfis de navegador.

Passo 2: Configurar um perfil de navegador

O GoLogin utiliza um perfil de navegador como uma identidade distinta para simular o comportamento de um utilizador real. Escolha o navegador que deseja utilizar, como o Google Chrome ou o Mozilla Firefox, antes de criar um perfil para ele.

O perfil pode ser alterado para incluir agentes de utilizador, impressões digitais e endereços IP, o que ajudará a tornar o perfil mais autêntico e reduzir as hipóteses de deteção.

Passo 3: Configurar as definições de proxy

Pode modificar as definições de proxy para o perfil de navegador, reduzindo ainda mais as hipóteses de deteção.

Ao fazer isso, pode atribuir a cada website que visita um endereço IP distinto, o que torna mais desafiador para eles monitorarem o seu comportamento online.

Passo 4: Iniciar o web scraping

Após configurar as definições de proxy e o perfil de navegador, pode começar a realizar o web scraping. Precisará escrever um script de scraping em uma linguagem como Python.

O script deve aceder o website e extrair os dados necessários utilizando o perfil de navegador criado pelo GoLogin.

  • Importando as bibliotecas necessárias:
    A primeira modificação foi a importação das bibliotecas necessárias, incluindo sys, selenium, chrome_options, time e gologin. Isso foi feito adicionando as seguintes linhas de código no início do arquivo:
from sys import platform
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
from gologin import GoLogin
  • Configuração do GoLogin e Selenium WebDriver:
    A segunda modificação foi a configuração do GoLogin e Selenium WebDriver. Isso foi feito adicionando as seguintes linhas de código no início do arquivo:
gl = GoLogin({
'token': 'yU0token',
'profile_id': 'yU0Pr0f1leiD',
})

if platform == "linux" or platform == "linux2":
chrome_driver_path = './chromedriver'
elif platform == "darwin":
chrome_driver_path = './mac/chromedriver'
elif platform == "win32":
chrome_driver_path = 'chromedriver.exe'

debugger_address = gl.start()
chrome_options = Options()
chrome_options.add_experimental_option("debuggerAddress", debugger_address)
driver = webdriver.Chrome(executable_path=chrome_driver_path, options=chrome_options)

Este código configura o GoLogin com o token e profile_id corretos, bem como o caminho correto do WebDriver para a plataforma. Em seguida, ele inicia o GoLogin e configura o WebDriver com o endereço correto do depurador.

  • Atualizando o código para usar o WebDriver:
    A última modificação foi atualizar o código para usar o WebDriver para navegação e scraping. Isso foi feito atualizando o código para usar o objeto driver em vez da biblioteca requests para navegação e usar driver.page_source em vez de response.content para o scraping.

Passo 5: Monitorize a sua atividade

Para garantir que os websites não sejam alertados sobre as suas atividades de web scraping, é crucial ficar de olho nelas.

O GoLogin oferece uma variedade de recursos para facilitar o acompanhamento das suas atividades, incluindo gestão de sessões, compatibilidade com API e um painel que exibe o seu endereço IP e perfil de navegador atual.

Para o LinkedIn

Para realizar o scraping de dados do LinkedIn utilizando o serviço do GoLogin, é necessário primeiro criar um perfil na plataforma do GoLogin. Isso pode ser feito criando um novo utilizador, escolhendo uma configuração de navegador específica e adicionando quaisquer plugins ou extensões necessárias.

O utilizador pode visitar o website do LinkedIn e fazer login utilizando as suas credenciais após criar o perfil de utilizador. Em seguida, eles podem simular ações humanas, como o scrolling da página, o clique em links e inserção de dados, utilizando as ferramentas de automação do GoLogin.

Por exemplo, um utilizador pode usar o GoLogin para procurar utilizadores que tenham o cargo de ” software engineer” e que estejam localizados numa cidade específica. Eles podem então utilizar as ferramentas de automação para extrair dados como o nome do utilizador, cargo, empresa e localização.

O resultado final terá a seguinte aparência:

Utilizar vários perfis para aceder ao LinkedIn pode ajudar os utilizadores a escapar à deteção e reduzir o risco de serem banidos, o que é um dos benefícios potenciais de utilizar o GoLogin para o scraping do LinkedIn.

No entanto, é importante lembrar que isso pode violar os termos de serviço da plataforma e realizar scraping de dados do LinkedIn sem autorização pode resultar em problemas legais.

Portanto, é crucial agir com cautela e garantir que quaisquer ações de scraping sejam realizadas de forma moral e legalmente responsável.

Dicas para o Scraping de Dados do LinkedIn de forma Segura

O scraping de dados do LinkedIn pode fornecer informações valiosas para empresas e pesquisadores, mas é importante fazê-lo de forma ética e sem violar os termos de serviço do LinkedIn.

Para evitar ser banido, os desenvolvedores web devem seguir algumas dicas profissionais.

  1. Limite a frequência das solicitações aos servidores do LinkedIn e defina intervalos de tempo apropriados entre cada solicitação.
  2. Tráfego excessivo nos servidores do LinkedIn pode acionar seus sistemas de segurança e resultar em banimento. Além disso, os desenvolvedores não devem usar bots ou ferramentas automatizadas para o scraping de dados do LinkedIn, pois isso viola os termos de serviço da plataforma.
  3. Simule o comportamento humano ao fazer o scraping de dados do LinkedIn. Isso pode ser alcançado usando um navegador da web comumente usado por humanos e fazendo solicitações num ritmo realista.
  4. Evite aceder perfis privados ou dados que não estão disponíveis ao público.
  5. Respeite a privacidade dos utilizadores do LinkedIn e não utilize os seus dados para fins antiéticos. Seguindo essas melhores práticas, os desenvolvedores web podem fazer scraping de dados do LinkedIn com sucesso sem serem banidos e de maneira ética.
scraping data from linkedin
Dica profissional extra: usar uma ferramenta como o GoLogin pode ajudar os desenvolvedores web a fazer scraping de dados do LinkedIn sem serem banidos.

O GoLogin oferece uma maneira de criar e gerenciar vários perfis de navegador, o que pode ser útil para evitar a deteção pelo LinkedIn. Ao alternar entre diferentes perfis de navegador, torna-se mais difícil para o LinkedIn detetar padrões de atividade de scraping, o que ajuda a prevenir riscos.

Além disso, o GoLogin permite a rotação de IP, o que pode proteger ainda mais o seu trabalho ao fazer o scraping de dados do LinkedIn. Em geral, o uso do GoLogin pode ser uma ferramenta valiosa para os desenvolvedores web que desejam fazer scraping de dados do LinkedIn com segurança e sem riscos.

Faça o download do GoLogin aqui e aproveite o scraping de segura com o nosso plano gratuito!

Gerir várias contas sem proibições e bloqueios
Ler também

What Is a MAC Address, and When Should I Hide It?

We keep on receiving questions about whether or not one should hide their MAC address.

TOP 5 Best Ways to Hide Your Identity Online

TOP 5 methods how to hide your identity and remove yourself from Internet search results

navegador multilogin

Alternativa ao navegador Multilogin Chrome: Revisão em 2024

Utilizar o Multilogin para trabalhar? Talvez seja altura de reconsiderar! Fizemos os testes, contabilizámos os custos e, no final, elaborámos um quadro comparativo do GoLogin!

Gostaríamos de ouvir as suas perguntas, comentários e sugestões. Contacte-nos em [email protected] ou deixe um comentário acima.

Está a começar a utilizar o GoLogin? Esqueça a suspensão ou o cancelamento da conta. Escolha qualquer plataforma Web e gira facilmente várias contas. Clique aqui para começar a utilizar todas as funcionalidades GoLogin