Lien du fichier : https://docs.google.com/spreadsheets/d/1ziID5PwJHC8wQcDp0K-9dPnbqyfhSVR7v02LZgMtZYM/edit?gid=751250569#gid=751250569.

1. Extraction des données de base sur le site MifExpo

Première étape est de regarder la structure du site afin de determiner de quel manière scraper les infos présentes sur le site à savoir le nom de la marque, la description, le site web et les liens des réseaux sociaux. J'ai utilisé l'extension Chrome Webscraper pour collecter les informations. J'ai donc extrait des données telles que le nom de la marque, le site web, les liens vers les réseaux sociaux (LinkedIn, Facebook, Instagram) et la description de l'entreprise.

Screenshot Webscraper

Capture d’écran 2024-08-05 à 14.15.22.png

Capture d’écran 2024-08-05 à 14.15.12.png

2. Extraction des données & tri des réseaux sociaux

Après avoir exporté les données dans un fichier Excel (706 lignes), j'ai utilisé l'intelligence artificielle Gemini de Google pour trier automatiquement les liens des réseaux sociaux, classant ainsi 212 liens LinkedIn (pour la plupart ce sont des pages entreprises) , 569 liens de profils Instagram et 537 liens de pages Facebook dans les colonnes appropriées.

Screenshot du Sheet

Capture d’écran 2024-08-05 à 14.25.51.png

3. Ciblage et recherche des noms et prénoms

En analysant la liste des exposants, j'ai constaté qu'elle comprenait non seulement des marques, mais aussi des entreprises de services ne correspondant pas à notre cible. Faute de token pour utiliser l'extension ChatGPT for GSheet et catégoriser les entreprises en fonction de leur description, j'ai décidé de poursuivre et de trouver un autre moyen de filtrer les données.

J'ai identifié que les marques présentes sont majoritairement des TPE/PME. L'objectif étant de les contacter directement pour les accompagner dans leur stratégie de commercialisation, j'ai cherché à obtenir le nom des dirigeants de ces entreprises.

J'ai utilisé l'API publique gratuite "API Recherche d'entreprise" (https://recherche-entreprises.api.gouv.fr/docs/) pour identifier les dirigeants. Après avoir étudié son fonctionnement (nombre de requêtes maximum par seconde, type d'informations disponibles), j'ai créé un script Python avec Codestral pour automatiser les requêtes à l'API, en utilisant un fichier CSV contenant uniquement le nom des marques. Sur les 706 marques, 551 entreprises ont été trouvées. Après avoir filtré par secteur d'activité (industries manufacturières et commerce), j'ai obtenu une liste de 305 entreprises pertinentes, sans oublier les 246 restantes (à travailler plus tard).

Script pour la requête API Entreprise que j’ai utilisé sur Google Colab

import requests
import pandas as pd
import time

# Read the CSV file
df = pd.read_csv('/content/Feuille34.csv')

# Initialize an empty list to store the results
results = []

# Loop over each brand in the DataFrame
for brand in df['Marque']:
    # Construct the API URL
    url = f'<https://recherche-entreprises.api.gouv.fr/search?q={brand}&page=1&per_page=1>'

    # Send the GET request
    response = requests.get(url, headers={'accept': 'application/json'})

    # Parse the JSON response
    data = response.json()

    # Extract the relevant information
    if data['total_results'] > 0:
        result = data['results'][0]
        dirigeant = result['dirigeants'][0] if result['dirigeants'] else {}
        siege = result['siege'] if result['siege'] else {}
        row = {
            'Marque': brand,
            'Nom Dirigeant': dirigeant.get('nom', ''),
            'Prenoms Dirigeant': dirigeant.get('prenoms', ''),
            'Activite Principale': result.get('activite_principale', ''),
            'Section Activite Principale': result.get('section_activite_principale', ''),
            'Code Postal': siege.get('code_postal', ''),
            'Type Personne': dirigeant.get('type_dirigeant', '')
        }
        results.append(row)

    # Wait for 0.2 seconds to avoid exceeding the rate limit
    time.sleep(0.2)

# Convert the results to a DataFrame
results_df = pd.DataFrame(results)

# Save the results to an Excel file
results_df.to_excel('data_sur_les_marques.xlsx', index=False)

Screenshot de l’excel généré par le script

Capture d’écran 2024-08-05 à 17.27.25.png