60 votes

Obtenir le contenu texte de la page mediawiki via l'API

Je suis assez nouveau sur MediaWiki, et maintenant j'ai un petit problème. J'ai le titre d'une page de wiki, et je veux obtenir juste le texte d'une page en utilisant api.php , mais tout ce que j'ai trouvé dans l'API est un moyen d'obtenir le contenu de la page de wiki (avec le balisage wiki ). J'ai utilisé cette requête HTTP ...

 /api.php?action=query&prop=revisions&rvlimit=1&rvprop=content&format=xml&titles=test
 

Mais je n'ai besoin que du contenu textuel, sans le balisage Wiki. Est-ce possible avec l'API MediaWiki?

68voto

gilly3 Points 33285

Utilisez action=parse pour obtenir le code HTML:

/api.php?action=parse&page=test

Une façon d'obtenir le texte du code HTML serait de le charger dans un navigateur et de parcourir les nœuds, en recherchant uniquement les nœuds de texte, à l'aide de JavaScript.

42voto

iamataptool Points 3410

L'extension TextExtracts de l'API traite de ce que vous demandez. Utilisez prop=extracts pour obtenir une réponse nettoyée. Par exemple, ce lien vous donnera un texte nettoyé pour l'article Stack Overflow . Ce qui est également intéressant, c’est qu’il inclut toujours des balises de section, de sorte que vous pouvez identifier les sections individuelles de l’article.

31voto

baijum Points 452

L'ajout de &action=raw à la fin d'une page MediaWiki renvoie le dernier contenu au format texte brut. Exemple: - https://en.wikipedia.org/wiki/Main_Page?action=raw

11voto

Hardest Points 97

6voto

Eric Normand Points 2030

Je ne pense pas qu'il soit possible d'utiliser l'API pour obtenir uniquement le texte.

Ce qui a fonctionné pour moi a été de demander la page HTML (en utilisant l'URL normale que vous utiliseriez dans un navigateur) et de supprimer les balises HTML sous la div content.

MODIFIER:

J'ai eu de bons résultats en utilisant HTML Parser for Java. Il contient des exemples sur la manière de supprimer les balises HTML sous une DIV donnée.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X