Lorsque j'ai essayé d'obtenir des données de table comme JSON, je pouvais trouver des enfants distinctifs dans la sortie JSON de la requête suivante: P>
Je veux obtenir les rangées et les colonnes de cette table (le texte): - p>
https://fr.wikipedia.org/wiki/list_of_football_clubs_in_india#assam p>
La sortie JSON semble compliqué et je ne trouve pas un bon moyen d'extraire du texte de celui-ci. P>
(je fais cela dans JavaScript (nœud.js) em> p>
aide s'il vous plaît .. p>
4 Réponses :
Je ne suis pas sûr, qu'est-ce que vous attendez. Votre demande d'API à la page renvoie réellement le wikitext encapsulé dans une structure JSON. Cependant, le WikiteXt (où la table fait partie de) n'est pas JSON, vous ne pouvez donc pas vraiment l'interpréter comme tel.
Je ne suis pas vraiment sûr, quelles informations vous voulez avoir. Si vous voulez avoir les clubs de football dans la table, votre seul pari est d'analyser le WikiteXt (vous pouvez également renvoyer le HTML analysé réel de l'API pour le rendre "plus facile") et passer par les données vous-même. Cependant, c'est probablement une tâche susceptible d'erreur et non amusante. P>
Donc, si vous souhaitez obtenir tous les clubs de football de l'Inde dans un format de données structuré, je ferais probablement mieux essayer Wikidata pour cela. Il vous permet de resserrer des données structurées pour les informations dont vous avez besoin (et recevez également des liens vers des articles Wikipedia, si les objets ont un lien vers une page Wikipedia). Dans votre cas d'utilisation, il est probablement une bonne idée d'essayer le service de requête Wikidata . P> < p> là, vous pouvez émettre une requête comme: p> qui interroge une liste de tous les clubs de football en Inde et vous renvoie une liste avec l'étiquette de l'article ainsi que le lien vers L'article anglais Wikipedia:
https://query.wikidata.org/ # Sélectionnez% 20% 3Fitemlabel% 20% 3FSITELINKINK KINKINK% 20% 20% 7b% 0A% 20% 20% 3Fitem% 20WDT% 3AP31% 20WD% 3AQ476028% 3A% 0A% 20% 20% 20% 20% 20% 20% 20% 20 % 20WDT% 3AP17% 20WD% 3AQ668.% 0A% 20% 20% 3fsitelink% 20schema% 3Aspartafe% 20% 3CHTTTTPS% 3A% 2F% 2fen.wikipedia.org% 2f% 3e% 3B% 3B 0A% 20% 20% 20% 20% 20% 20% 20% 20% 20% 20% 20% 20% 20% 20% 20schema% 3Aabout% 20% 3Fitem.% 0A% 20% 20Service% 20Wikibase% 3alabel% 20% 7b% 20bd% 20% 7B% 20WIKIBASE% 3ALanguage% 20% 22 % 5bauto_language% 5D% 2cen% 22.% 20% 7D% 0A% 7D P> P>
suppose que ceci est le Le code ci-dessus peut vous donner un accès propre au texte; Cependant, comment vous allez séparer la colonne et la ligne est à vous de vous. p> p> res code> correspond aux données que vous obtenez de la wiki
Cela a aidé à supprimer des caractères inutiles, mais le problème principal est que texte ['*'] code> est un seul objet et ne peut pas être itéré pour chaque ligne dedans.
Tuture. Peut-être que nous pouvons tokeniser chaque mot?
Cela ralentira un peu la performance (il semble que je ne suis pas sûr de ne pas être plus rapide).
Cela peut être fait en définissant prop = texte code>, puis sur l'analyse de l'HTML obtenu à l'aide de JSDOM (livré avec / pour node.js) p>
Je sais que cette question est vieille mais il y a un API pour cela. Vous pouvez fournir un titre de page et il retournera les tables de votre choix dans JSON. P>
Je veux les champs de texte des tables (lignes et colonnes)