Je suis un peu nouveau dans la programmation Android. Je souhaite créer une application Android qui extrait les données de certains sites Web de jeux, mais ils ne disposent pas d'API pour obtenir des données au format json. Je sais comment obtenir des données dans json et comment les analyser dans Android Studio. Alors, existe-t-il un moyen d'extraire des données d'un site Web sans API? Veuillez le garder descriptif car je suis nouveau dans la programmation comme je l'ai dit plus tôt.

0
pulkit 16 janv. 2017 à 19:34

2 réponses

Meilleure réponse

La description est un peu complexe. Vous pouvez utiliser la bibliothèque JSoup qui vous permet de récupérer un site Web et d'obtenir diverses parties du DOM. C'est très simple et utilisez la syntaxe XPATH pour naviguer dans le DOM.

Vous pouvez trouver un exemple sur leur page d'accueil:

Document doc = Jsoup.connect("http://en.wikipedia.org/").get();
Elements newsHeadlines = doc.select("#mp-itn b a");

Ensuite, vous devez vous adapter à ce dont vous avez besoin. Gardez à l'esprit que cette approche n'est pas la meilleure, car vous développez votre logique en la basant sur la vue du site Web.Par conséquent, s'ils modifient leur affichage, votre code échouera.

1
firegloves 16 janv. 2017 à 16:39

Surtout pas. Le mieux que vous puissiez faire est de gratter l'écran - téléchargez le site Web et essayez de l'analyser au format HTML à la recherche de zones spécifiques de l'écran. Le problème avec cela est qu'à chaque fois qu'ils modifient leur code HTML, même un peu, votre application se cassera. Donc, ce n'est pas recommandé. Au lieu de cela, je vous suggère de rechercher des sources d'informations alternatives qui ont une API, ou vous abandonnez l'idée.

1
Gabe Sechan 16 janv. 2017 à 16:38