Como recolher contas de utilizadores no Instagram e no TikTok [Python & API]

como recolher dados de contas de utilizadores no instagram e no tiktok

Recolha de dados de contas de utilizadores no Instagram e no TikTok envolve a recolha de dados destas plataformas. O que é importante notar é que a recolha de dados destas plataformas pode violar os seus termos de serviço e potencialmente levar a proibições de contas ou consequências legais. Portanto, utilize Proxy para rodar o endereço IP é uma dica necessária para a recolha de dados na Web. Com isto em mente, aqui está um guia passo-a-passo para extrair dados de utilizador da interface Web do Instagram/TikTok!

Como extrair contas de utilizador no IG e no TikTok através de Python

Vamos ver como extrair dados de perfil de utilizador do Instagram e do TikTok, incluindo nome de utilizador, nome completo, descrição e imagem de perfil.

como recolher contas de utilizador no instagram e no tiktok com python

Passo 1: Configurar o ambiente

  1. Instale o Python e o Pip: Certifique-se de que o Python está instalado na sua máquina. Pode descarregá-lo a partir de python.org. Pip, o instalador de pacotes para Python, geralmente vem com as instalações do Python.
  2. Instalar as bibliotecas necessárias:
    pip install requests beautifulsoup4 pandas selenium
  3. Descarregar o Webdriver: Para o Selenium, terá de descarregar o WebDriver apropriado para o seu browser. Para o Chrome, pode obter o ChromeDriver em aqui.

Passo 2: Criar um raspador para Instagram

A. Recolha de dados públicos

Configuração básica:

importar pedidos
from bs4 import BeautifulSoup
importar pandas as pd

# Função para obter conteúdo HTML
def get_html(url):
    response = requests.get(url)
    return response.text

Extrair informações do utilizador:

def scrape_instagram_user(nome de utilizador):
    url = f'https://www.instagram.com/{username}/'
    html = get_html(url)
    soup = BeautifulSoup(html, 'html.parser')

    # Extração de dados relevantes
    dados_do_utilizador = {}
    dados_do_utilizador['nome_de_utilizador'] = nome_de_utilizador
    dados_do_utilizador['nome_completo'] = soup.find('meta', {'propriedade': 'og:título'})['conteúdo'].split('-')[0].strip()
    dados_do_utilizador['descrição'] = soup.find('meta', {'propriedade': 'og:descrição'})['conteúdo']
    dados_do_utilizador['imagem_de_perfil'] = soup.find('meta', {'propriedade': 'og:imagem'})['conteúdo']
    return user_data

# Exemplo de utilização
utilizador = scrape_instagram_user('instagram')
print(user)

B. Tratamento de conteúdo dinâmico com o Selenium

Configurar o Selenium:

from selenium import webdriver
from selenium.webdriver.chrome.service import Service as ChromeService
from selenium.webdriver.common.by import By
from selenium.webdriver.chrome.options import Options
importar time

# Configuração do WebDriver
chrome_options = Opções()
chrome_options.add_argument("--headless")
service = ChromeService(executable_path='/path/to/chromedriver')
driver = webdriver.Chrome(service=service, options=chrome_options)

# Função para obter conteúdo dinâmico
def get_dynamic_content(url):
    driver.get(url)
    time.sleep(3) # Espera que a página seja carregada
    return driver.page_source

# Exemplo de utilização
html = get_dynamic_content('https://www.instagram.com/instagram/')

Passo 3: Criar um raspador para o TikTok

A. Recolha de dados públicos

Configuração básica:

def scrape_tiktok_user(nome de utilizador):
    url = f'https://www.tiktok.com/@{username}'
    html = get_html(url)
    soup = BeautifulSoup(html, 'html.parser')

    # Extração de dados relevantes
    dados_do_utilizador = {}
    dados_do_utilizador['nome_de_utilizador'] = nome_de_utilizador
    dados_do_utilizador['nome_completo'] = soup.find('h1', {'data-e2e': 'user-title'}).text if soup.find('h1', {'data-e2e': 'user-title'}) else None
    user_data['description'] = soup.find('h2', {'data-e2e': 'user-subtitle'}).text if soup.find('h2', {'data-e2e': 'user-subtitle'}) else None
    user_data['profile_image'] = soup.find('img', {'class': 'avatar'})['src'] if soup.find('img', {'class': 'avatar'}) else None
    return user_data

# Exemplo de utilização
utilizador = scrape_tiktok_user('tiktok')
print(utilizador)

B. Tratamento de conteúdo dinâmico com o Selenium

Configurar o Selenium:

# Reutilize a configuração do Selenium da secção Instagram

# Exemplo de utilização para o TikTok
html = get_dynamic_content('https://www.tiktok.com/@tiktok')

Passo 4: Guardar dados em CSV

Guardar dados:

def save_to_csv(data, filename='output.csv'):
    df = pd.DataFrame(data)
    df.to_csv(filename, index=False)

# Exemplo de utilização
dados = [scrape_instagram_user('instagram'), scrape_tiktok_user('tiktok')]
save_to_csv(data)

Etapa 5: Usando proxies e lidando com limitação de taxa

Utilizar proxies para recolher dados do Instagram e do TikTok, como OkeyProxy, a proxy para recolha de dados da webé essencial para contornar os limites de taxa e Proibições de IP impostos pela plataforma, concebidos para evitar a extração excessiva de dados e manter a integridade do seu serviço. Os proxies permitem-lhe distribuir os seus pedidos de raspagem por vários endereços IP, reduzindo a probabilidade de ser assinalado como um utilizador suspeito e garantindo o acesso contínuo aos dados de que necessita. Isso é especialmente importante em plataformas como o TikTok, onde grandes volumes de solicitações podem acionar defesas automatizadas que bloqueiam ou limitam o acesso. Ao tirar partido dos proxies, pode manter uma operação de raspagem estável e eficiente, recolhendo dados sem enfrentar interrupções significativas.

como recolher contas de utilizador em instagram e tiktok com proxy

Configurar proxies:

proxies = {
    'http': 'http://your_proxy_here',
    'https': 'https://your_proxy_here',
}

# Exemplo de utilização com pedidos
response = requests.get(url, proxies=proxies)

Manuseamento da limitação da taxa:

tempo de importação

# Função para adicionar atraso
def delayed_request(url, delay=2):
    time.sleep(delay)
    return get_html(url)

Exemplo de estudo de caso para extrair dados do Instagram e do TikTok

Cenário

Foi-lhe confiada a tarefa de recolher os dados do perfil de alguns utilizadores do Instagram e do TikTok para analisar a sua presença nas redes sociais para uma campanha de marketing.

Passos

  1. Ambiente de configuração: Verifique se todas as bibliotecas necessárias estão instaladas e se o WebDriver está configurado.
  2. Extrair dados do utilizador do Instagram:
    instagram_usernames = ['instagram', 'cristiano', 'natgeo']
    
    instagram_data = []
    para nome de utilizador em instagram_usernames:
        user_data = scrape_instagram_user(username)
        instagram_data.append(user_data)
    
    save_to_csv(instagram_data, 'instagram_users.csv')
  3. Extrair dados de utilizadores do TikTok:
    tiktok_usernames = ['tiktok', 'charlidamelio', 'therock']
    
    tiktok_data = []
    para nome de utilizador em tiktok_usernames:
        dados_do_utilizador = scrape_tiktok_user(nome_do_utilizador)
        tiktok_data.append(user_data)
    
    save_to_csv(tiktok_data, 'tiktok_users.csv')
  4. Lidar com conteúdo dinâmico com o Selenium: Utilize a configuração do Selenium para recuperar a fonte da página e analisar os dados para perfis com conteúdo dinâmico.

Outra forma: Extrair contas de utilizador de Instagram/Tiktok com API

Utilizar a API Instagram

O Instagram oferece uma API que permite o acesso a dados públicos. No entanto, esta API é limitada e requer aprovação, o que a torna menos flexível para a recolha de dados em grande escala.

  1. Registe-se para obter uma conta de programador no Facebook para Programadores.
  2. Criar uma aplicação de visualização básica Instagram.
  3. Utilize os pontos de extremidade da API para aceder aos dados do utilizador, incluindo perfis de utilizador e multimédia.
recolha de contas de utilizador em instagram

Utilizar a API do TikTok

O TikTok fornece uma API pública para aceder a alguns dados do utilizador, mas, tal como o Instagram, tem limitações e requer aprovação.

  1. Solicitar acesso à API do TikTok através do seu portal de programadores.
  2. Utilize pontos de extremidade da API para recolher perfis de utilizador e conteúdos.
recolher contas de utilizador no tiktok

Considerações sobre a recolha de dados de contas de utilizador no Instagram/Tiktok

  • Certifique-se de que tem o direito de extrair os dados e de que cumpre os termos de serviço da plataforma.
  • Implementar atrasos e utilização adequados proxies para evitar ser bloqueado.
  • Tratar os dados extraídos de forma responsável e respeitar a privacidade do utilizador.

Resumo

É tudo. Ao seguir estes passos para extrair dados através de Python com Proxy ou da API original da plataforma, pode extrair contas de utilizador no Instagram e no TikTok de forma eficaz, mantendo-se em conformidade com as diretrizes legais e éticas.

Comentários

Ainda não há comentários. Porque não inicias o debate?

Deixe um comentário

O seu endereço de email não será publicado. Campos obrigatórios marcados com *