Comment récupérer des comptes d'utilisateurs sur Instagram et TikTok [Python & API].

comment récupérer des comptes d'utilisateurs sur instagram et tiktok

Scraping user accounts on Instagram and TikTok involves collecting data from these platforms. What is important to note is that scraping these platforms could violate their terms of service and potentially lead to account bans or legal consequences. Therefore, utilize Proxy to rotate IP address is a necessary tip for web scraping. With that in mind, here’s a step-by-step guide to extract user data from Instagram/TikTok’s web interface!

How to Scrape User Accounts on IG and TikTok by Python

Let’s walk through how to scrape user profile data from Instagram and TikTok, including username, full name, description, and profile image.

comment récupérer des comptes d'utilisateurs sur instagram et tiktok avec python

Step 1: Setup Environment

  1. Install Python and Pip: Ensure Python is installed on your machine. You can download it from python.org. Pip, the package installer for Python, usually comes with Python installations.
  2. Install Required Libraries:
    pip install requests beautifulsoup4 pandas selenium
  3. Download Webdriver: For Selenium, you’ll need to download the appropriate WebDriver for your browser. For Chrome, you can get ChromeDriver from here.

Step 2: Create a Scraper for Instagram

A. Scraping Public Data

Basic Setup:

import requests
from bs4 import BeautifulSoup
import pandas as pd

# Function to get HTML content
def get_html(url):
    response = requests.get(url)
    return response.text

Extracting User Information:

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

    # Extracting relevant data
    user_data = {}
    user_data['username'] = username
    user_data['full_name'] = soup.find('meta', {'property': 'og:title'})['content'].split('•')[0].strip()
    user_data['description'] = soup.find('meta', {'property': 'og:description'})['content']
    user_data['profile_image'] = soup.find('meta', {'property': 'og:image'})['content']
    return user_data

# Example usage
user = scrape_instagram_user('instagram')
print(user)

B. Handling Dynamic Content with Selenium

Setup 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
import time

# Setup WebDriver
chrome_options = Options()
chrome_options.add_argument("--headless")
service = ChromeService(executable_path='/path/to/chromedriver')
driver = webdriver.Chrome(service=service, options=chrome_options)

# Function to get dynamic content
def get_dynamic_content(url):
    driver.get(url)
    time.sleep(3)  # Wait for the page to load
    return driver.page_source

# Example usage
html = get_dynamic_content('https://www.instagram.com/instagram/')

Step 3: Create a Scraper for TikTok

A. Scraping Public Data

Basic Setup:

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

    # Extracting relevant data
    user_data = {}
    user_data['username'] = username
    user_data['full_name'] = 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

# Example usage
user = scrape_tiktok_user('tiktok')
print(user)

B. Handling Dynamic Content with Selenium

Setup Selenium:

# Réutiliser la configuration Selenium de la section Instagram

# Exemple d'utilisation pour TikTok
html = get_dynamic_content('https://www.tiktok.com/@tiktok')

Step 4: Save Data to CSV

Sauvegarde des données :

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

# Exemple d'utilisation
data = [scrape_instagram_user('instagram'), scrape_tiktok_user('tiktok')]
save_to_csv(data)

Step 5: Using Proxies and Handling Rate Limiting

Utilisation de proxies pour récupérer les données d'Instagram et de TikTok, comme OkeyProxy, a proxy pour le scraping web, is essential for circumventing rate limits and Interdictions d'IP Les proxys imposés par la plateforme sont conçus pour empêcher l'extraction excessive de données et maintenir l'intégrité de leur service. Les proxys vous permettent de répartir vos demandes de scraping sur plusieurs adresses IP, ce qui réduit la probabilité d'être signalé comme un utilisateur suspect et garantit un accès continu aux données dont vous avez besoin. Cela est particulièrement important sur des plateformes comme TikTok, où des volumes élevés de requêtes peuvent déclencher des défenses automatisées qui bloquent ou limitent l'accès. En utilisant des proxys, vous pouvez maintenir une opération de scraping stable et efficace, en collectant des données sans subir d'interruptions significatives.

comment récupérer des comptes d'utilisateurs sur instagram et tiktok avec un proxy

Configurer les Proxies :

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

# Exemple d'utilisation avec des requêtes
response = requests.get(url, proxies=proxies)

Gestion de la limitation du débit :

temps d'importation

# Fonction pour ajouter un délai
def delayed_request(url, delay=2) :
    time.sleep(delay)
    return get_html(url)

Case Study Example to Scrape Data on Instagram and TikTok

Scenario

Vous êtes chargé de récupérer les données de profil de quelques utilisateurs d'Instagram et de TikTok afin d'analyser leur présence sur les médias sociaux dans le cadre d'une campagne de marketing.

Steps

  1. Environnement d'installation : Assurez-vous que toutes les bibliothèques requises sont installées et que le WebDriver est configuré.
  2. Récupérer les données des utilisateurs d'Instagram:
    instagram_usernames = ['instagram', 'cristiano', 'natgeo']
    
    instagram_data = []
    pour nom d'utilisateur dans instagram_usernames :
        user_data = scrape_instagram_user(username)
        instagram_data.append(user_data)
    
    save_to_csv(instagram_data, 'instagram_users.csv')
  3. Récupérer les données des utilisateurs de TikTok:
    tiktok_usernames = ['tiktok', 'charlidamelio', 'therock']
    
    tiktok_data = []
    pour nom d'utilisateur dans tiktok_usernames :
        user_data = scrape_tiktok_user(username)
        tiktok_data.append(user_data)
    
    save_to_csv(tiktok_data, 'tiktok_users.csv')
  4. Gérer le contenu dynamique avec Selenium : Utilisez la configuration Selenium pour récupérer la source de la page et analyser les données pour les profils avec un contenu dynamique.

Other Way: Scrape User Accounts from Instagram/Tiktok with API

Use Instagram API

Instagram propose une API qui permet d'accéder aux données publiques. Cependant, cette API est limitée et nécessite une approbation, ce qui la rend moins flexible pour le scraping à grande échelle.

  1. Créez un compte de développeur sur Facebook for Developers.
  2. Créer une application d'affichage de base Instagram.
  3. Utilisez les points de terminaison de l'API pour accéder aux données de l'utilisateur, y compris les profils d'utilisateur et les médias.
Récupérer des comptes d'utilisateurs sur instagram

Use TikTok API

TikTok propose une API publique permettant d'accéder à certaines données des utilisateurs, mais comme Instagram, elle comporte des limites et nécessite une approbation.

  1. Demandez l'accès à l'API TikTok via le portail des développeurs.
  2. Utiliser les points de terminaison de l'API pour collecter les profils et le contenu des utilisateurs.
Récupérer les comptes d'utilisateurs sur tiktok

Considerations to Scrape User Accounts on Instagram/Tiktok

  • Assurez-vous que vous avez le droit d'extraire les données et que vous respectez les conditions d'utilisation de la plateforme.
  • Mise en œuvre de délais et d'une utilisation appropriés mandataires pour éviter d'être bloqué.
  • Traitez les données récupérées de manière responsable et respectez la vie privée des utilisateurs.

Résumé

C'est tout. En suivant ces étapes pour extraire des données via Python avec Proxy ou l'API originale de la plateforme, vous pouvez gratter des comptes d'utilisateurs sur Instagram et TikTok de manière efficace tout en restant conforme aux directives légales et éthiques.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *