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.

Passo 1: Configurar o ambiente
- 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.
- Instalar as bibliotecas necessárias:
pip install requests beautifulsoup4 pandas selenium - 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.

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
- Ambiente de configuração: Verifique se todas as bibliotecas necessárias estão instaladas e se o WebDriver está configurado.
- 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') - 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') - 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.
- Registe-se para obter uma conta de programador no Facebook para Programadores.
- Criar uma aplicação de visualização básica Instagram.
- Utilize os pontos de extremidade da API para aceder aos dados do utilizador, incluindo perfis de utilizador e multimédia.

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.
- Solicitar acesso à API do TikTok através do seu portal de programadores.
- Utilize pontos de extremidade da API para recolher perfis de utilizador e conteúdos.

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.
