
Un nombre de commentaires affiché, un nombre d'éléments de premier niveau exposés sur la page publique et un nombre de lignes enregistrées sont des mesures distinctes. Un nombre affiché montre le total des éléments indiqué par l'interface de la page. Un nombre d'éléments de premier niveau exposés sur la page publique montre les éléments de premier niveau visibles sur la page web ouverte. Un nombre de lignes enregistrées montre ce que l'Actor a collecté avec succès dans votre jeu de données. Leurs unités peuvent différer. Ne supposez pas la composition d'un nombre affiché et n'affirmez pas une cause précise pour un écart entre ces nombres, car la cause peut rester non prouvée.
Comprendre les limites de la collecte
Pour évaluer un export avec exactitude, vous devez comprendre quatre termes centraux :
- Commentaire de premier niveau : commentaire direct publié sur un article principal ou sur un fil de mises à jour.
- Chaîne de réponses : réponse imbriquée publiée sous un commentaire de premier niveau existant.
- Actor : programme hébergé de collecte de données qui lit et extrait des pages web.
- Task : ensemble enregistré d'entrées d'exécution configuré pour un Actor de collecte.
Un Actor collecte les données publiques exposées sur une page web. Si une plateforme cache les réponses derrière des menus interactifs, ou si elle exige une connexion à un compte pour montrer toute la profondeur du fil, ces éléments cachés restent hors du périmètre d'un export public de premier niveau.
Les clés du jeu de données comprennent postUrl, postUrn, commentId, commentUrl, text, authorUrl et observedAt. Ces clés servent de preuve de ligne. L'objet de sortie OUTPUT.inputResults contient des champs de synthèse pour chaque élément d'entrée. Ces champs de synthèse sont status, statusReason, pageCommentCount, publicRowsOnPage, savedRows, isPublicPageComplete, isComplete et stopReason.
Le champ de complétude isComplete décrit ce résultat d'export précis, et non le fait que toutes les limites de la tâche ont été atteintes. Le champ isPublicPageComplete décrit seulement l'extraction des lignes de page exposées, et non l'ensemble de la discussion. Les valeurs manquantes restent inconnues. Si une ligne n'a pas de commentId, conservez-la comme une observation distincte non résolue. Ne faites jamais de fusion sur un identifiant vide.
Méthode pas à pas pour vérifier la couverture de l'export
Suivez ces sept étapes pour évaluer si un export de commentaires publics répond à vos besoins de recherche.
- Nommez votre métrique cible. Décidez si vous avez besoin des lignes de premier niveau collectées, des lignes de page publique exposées, d'un fil complet avec les réponses, ou d'un décompte de commentateurs distincts, chaque personne étant comptée une fois.
- Gardez les données de sortie groupées par publication. Stockez les clés de synthèse de chaque publication à côté de ses lignes de jeu de données collectées. Ne mélangez pas les métriques de publications différentes dans la même exécution.
- Vérifiez d'abord l'état de l'entrée. Si un état d'entrée montre un échec ou un blocage, ne l'enregistrez pas comme une publication à zéro commentaire. Marquez son décompte comme inconnu.
- Comparez les lignes enregistrées aux règles d'arrêt. Vérifiez si stopReason est égal à max_comments_reached. Un plafond numérique arrête la collecte plus tôt, même si la page a davantage de commentaires visibles.
- Comparez publicRowsOnPage et isPublicPageComplete à pageCommentCount selon leurs définitions exactes. La complétude de la page publique décrit l'extraction des lignes de la page source exposée. La complétude de l'export décrit la collecte obtenue. Aucun de ces champs ne convertit un échantillon de premier niveau en un arbre complet de réponses.
- Construisez un registre de couverture. Créez un tableau avec une ligne par publication. Attribuez une décision en texte simple à chaque élément selon son état et ses limites.
- Choisissez une source autorisée pour les fils complets. Si votre projet exige des chaînes de réponses complètes, utilisez une intégration de compte autorisée ou un outil d'API officiel.
L'entrée de tâche par défaut actuelle utilise collectAllAvailable défini sur true, sans plafond numérique. Pour un premier contrôle borné, passez collectAllAvailable à false et définissez maxComments sur 3. Laissez includeAuthorDetails défini sur false.
Voici un échantillon valide de configuration JSON en clair, qui utilise l'entrée de tâche enregistrée actuelle depuis https://www.linkedin.com/posts/timferriss_how-to-become-dramatically-more-productive-activity-7386884213343428608-wrF3. Remplacez la chaîne d'URL entière par le lien de votre publication publique connue :
{
"startUrls": [
"https://www.linkedin.com/posts/timferriss_how-to-become-dramatically-more-productive-activity-7386884213343428608-wrF3"
],
"collectAllAvailable": false,
"maxComments": 3,
"includeAuthorDetails": false
}Une exécution de contrôle vérifiée qui montre 3 lignes enregistrées, 4 lignes publiques exposées, 4 commentaires affichés, isPublicPageComplete égal à true, isComplete égal à false et stopReason égal à max_comments_reached prouve seulement une collecte bornée, et non des fils de discussion complets.
Trois valeurs sources sont inventées pour la démonstration. Trois publications partagent le même instant d'observation fictif :
- P1 : pageCommentCount 12, publicRowsOnPage 6, savedRows 3, isPublicPageComplete true, isComplete false, stopReason max_comments_reached. Le statut est partial. statusReason indique que le plafond numérique a arrêté cet export. La décision est un échantillon public de premier niveau plafonné. Un plafond plus élevé peut enregistrer davantage de lignes exposées, mais ne garantit aucun décompte de ce qui reste. Le rapport numérique de 3 divisé par 12, soit 25 pour cent, est seulement un rapport numérique entre unités différentes. Ce n'est pas 25 pour cent de toutes les personnes différentes, chacune comptée une fois, ni un rappel de conversation prouvé.
- P2 : pageCommentCount 20, publicRowsOnPage 5, savedRows 5, isPublicPageComplete true, isComplete true, stopReason décrit en langage ordinaire comme « page publique épuisée », et non comme un jeton d'API exact. Le statut est ok. statusReason décrit l'extraction de la page publique comme épuisée. La décision est un échantillon de page exposée accepté, et non une conversation complète de 20 commentaires. L'écart de 15 éléments a une cause non prouvée et n'est pas affirmé comme des réponses cachées.
- P3 : tous les décomptes sont inconnus, le résultat source est un échec, le statut est failed, statusReason est une erreur réseau. La décision est une collecte inconnue : pas de rapport de zéro commentaire et pas de dénominateur.
Registre fictif
| ID de publication | Statut | Motif du statut | Nombre sur la page | Lignes publiques | Lignes enregistrées | Page complète | Export complet | Motif d'arrêt | Décision |
|---|---|---|---|---|---|---|---|---|---|
| P1 | partial | le plafond numérique a arrêté cet export | 12 | 6 | 3 | true | false | max_comments_reached | Échantillon public de premier niveau plafonné |
| P2 | ok | extraction de la page publique épuisée | 20 | 5 | 5 | true | true | page publique épuisée | Échantillon de page exposée accepté |
| P3 | failed | erreur réseau | inconnu | inconnu | inconnu | inconnu | inconnu | inconnu | Collecte inconnue |
Le registre sépare l'écart de plafond numérique de P1, l'écart de périmètre source de P2 et le contrôle échoué de P3. Le total des lignes enregistrées acceptées est égal à 3 plus 5, ce qui donne 8 observations. P3 reste inconnu et n'est pas ajouté comme zéro. Le lecteur peut utiliser 8 lignes observées pour une étude dont le périmètre d'échantillon public est énoncé. Il ne peut pas affirmer 8 personnes sur 32, ni 8 commentaires sur l'ensemble des commentaires. Si P1 enregistre plus tard 6 lignes avec un plafond plus élevé, conservez un second instantané et dédupliquez seulement avec des identités de commentaire vérifiées avant de combiner les observations.
Sources et lectures complémentaires
Par Chronometrica · Mis à jour
Retour en haut ↑
