

# Comment retirer les profils Instagram en double d'une liste de créateurs

Regroupez les fiches de créateurs selon leur valeur channelId stable pour nettoyer les profils en double. Un Actor est un programme de collecte de données hébergé qui collecte des lignes sources. Une Task est un préréglage d'entrée enregistré qui conserve vos paramètres de recherche. Build 0.1.26 prend startUrls avec 1 à 1 000 profils publics connus, des @handles ou des handles simples. L'entrée prédéfinie à deux échantillons est remplacée par un seul profil prévu. Les entrées exactement en double sont regroupées automatiquement par l'Actor. Une ligne représente une entrée tentée, y compris les lignes indisponibles. Les champs natifs comprennent input, channelId, eimuId, fbid, channelUrl, handle, status, statusReason et observedAt. Le champ eimuId doit être exact. Le champ fbid est un identifiant lié à Meta et n'est pas un identifiant de Page Facebook. Le rapport OUTPUT indique requestedChannels, acceptedProfileInputs, rejectedInputs, datasetRows, usefulRows, billableRows, nonUsefulRows et statusCounts. Un contrôle à un seul profil avec NASA et le statut ok a renvoyé l'identité correcte, le channelUrl canonique, le handle, 5 bioLinks, detectedEmails sous forme de tableau vide, ainsi que businessEmail et businessPhoneNumber à null. Cela prouve seulement la prise en charge de l'identité et des liens. Cette méthode ne couvre pas la découverte de l'âge ou du lieu, les archives de publications, l'historique des anciens handles, ni le rapprochement de personnes entre plateformes.

1. Commencez par une liste connue de profils et conservez vos entrées d'origine. L'Actor prend des profils connus et ne peut pas rechercher tous les profils par âge, lieu ou nombre d'abonnés. Une liste manuelle est d'abord nécessaire.
2. Exécutez d'abord un profil public pour tester votre configuration. Vérifiez son channelUrl canonique, son handle, son channelId, son status, son statusReason et son observedAt par rapport à la source publique. Une ligne utile peut être partielle, et une correspondance de nom seule ne corrige pas une mauvaise cible.
3. Stockez les identifiants comme des chaînes de texte et définissez votre espace de noms comme instagram:channelId. Ne mélangez pas le channelId Instagram avec les identifiants d'autres plateformes seulement parce que les nombres correspondent. Le champ fbid est un identifiant lié à Meta et n'est pas un identifiant de Page Facebook.
4. Construisez une table d'alias d'entrée normalisée à partir d'URL de profils sûres et de @handles, tout en conservant l'entrée d'origine. Retirez les barres obliques finales normales et les marques de requête pour la comparaison, mais ne transformez pas les routes de story ou de connexion en identités de profil. La normalisation des alias est distincte du regroupement des doublons par chaîne exacte de l'Actor.
5. Regroupez les observations actuelles par valeurs channelId non vides. Conservez les arêtes entrée-vers-channelId et les valeurs channelUrl canoniques. Quand un handle correspond à des valeurs channelId différentes à des moments d'observation différents, conservez les deux fiches et vérifiez la source publique sans écraser les anciennes données à l'aveugle. L'absence d'historique ne peut pas expliquer pourquoi un conflit s'est produit.
6. Traitez les valeurs channelId manquantes en conservant le channelUrl canonique ou le handle comme preuve provisoire plus faible. Ne fusionnez jamais des comptes seulement par le nom affiché. Gardez les lignes blocked, private ou parser_miss hors de la table d'identités vérifiées. Une clé provisoire locale est une métadonnée de suivi, pas une identité stable inventée.
7. Séparez vos résultats en identités vérifiées, alias d'entrée, observations non résolues et conflits. Comptez les identités connues séparément des lignes d'entrée, des lignes utiles et des handles observés. Expliquez tout écart entre le statut de la source et les données collectées avant d'ajouter des faits supplémentaires.
8. Ajoutez une nouvelle observation avec observedAt pour les actualisations ultérieures. L'Actor ne renvoie pas automatiquement les changements historiques, donc vous devez vérifier l'identité avant de comparer les décomptes ou [les listes de liens dans le temps](/fr/articles/verification-liens-publics-bio-instagram-avant-contact/).

## Exemple résolu et tableaux

Les tableaux suivants montrent une fiction originale pour illustrer le fonctionnement de la méthode.

### Table d'alias de la liste vers l'ID

| Ligne de la liste | Entrée d'origine | channelId de la source brute | Statut | channelUrl canonique | observedAt | État de revue |
| --- | --- | --- | --- | --- | --- | --- |
| R1 | @greenstudio | 10001 | ok | https://www.instagram.com/greenstudio | 2026-03-01 | Alias vérifié |
| R2 | https://www.instagram.com/greenstudio/?ref=sheet | 10001 | ok | https://www.instagram.com/greenstudio | 2026-03-01 | Alias vérifié |
| R3 | @green_studio | 20002 | ok | https://www.instagram.com/green_studio | 2026-03-01 | Alias vérifié |
| R4 | @summerlab | null | partial | https://www.instagram.com/summerlab | 2026-03-01 | Provisoire |
| R5 | @private_notes | null | private | null | 2026-03-01 | Non résolu |

### Registre de deux ID connus

| channelId | Alias / entrées associés | Synthèse du statut | État de revue |
| --- | --- | --- | --- |
| 10001 | @greenstudio, https://www.instagram.com/greenstudio/?ref=sheet | ok | Identité vérifiée |
| 20002 | @green_studio | ok | Identité vérifiée |

### Lignes de conflit et de revue

| Entrée d'origine | channelId de la source brute | Statut | observedAt | État de revue |
| --- | --- | --- | --- | --- |
| @greenstudio | 30003 | ok | 2026-06-01 | Conflit avec 10001 (aucune preuve de renommage ou de vente) |

La table vérifiée contient deux identités connues distinctes, chacune comptée une fois, et non cinq identités ni une identité de nom affiché. Les lignes R1 et R2 forment deux alias d'entrée pour le channelId 10001. La ligne R4 est provisoire parce qu'elle n'a pas de channelId, et la ligne R5 n'est pas résolue parce qu'elle est privée. Dans une observation fictive ultérieure, @greenstudio correspond au channelId 30003. Enregistrez ceci comme un conflit d'identité avec les horodatages observedAt. Cela ne prouve pas un renommage, une vente de compte ni une usurpation. Vous devez vérifier les tables d'arêtes et les faits sources avant de fusionner des lignes en conflit.

## Action suivante

Pour exécuter votre propre processus de déduplication, utilisez l'Actor Apify [Instagram Channel Scraper](https://apify.com/chronometrica/instagram-channel-scraper) et la Task [Instagram Identity Map](https://apify.com/chronometrica/instagram-channel-scraper/examples/instagram-identity-map).

## Sources et lectures complémentaires

- [Discussion Reddit sur le scrapping de profils Instagram](https://www.reddit.com/r/instagramAsk/comments/1u1275c/instagram_profile_scrapping/)
- [Discussion Reddit sur le scraping de profils Instagram](https://www.reddit.com/r/n8n/comments/1pac74m/scraping_instagram_profiles/)