6 votes

Flutter - Comment analyser les données d'un site Web dans une vue en liste ?

Je cherche de l'aide pour mon application de test qui fournit un flux d'informations qui analyse les données d'un site web, à savoir VMoneyNews (J'ai leur permission d'utiliser leurs données) .

Je veux que cela analyse le article title , main article text y article image de chaque article de la Bitcoin News en vue de sa mise en œuvre dans le listView dans ce cas, une horizontale listViewRow .

S'il vous plaît Ne le fais pas. inclure le texte d'en-tête en gras en haut de chaque article, ou le lien vers des articles similaires.

Quelqu'un pourrait-il me fournir ce code ? Je suppose que j'utiliserai la dépendance HTML, mais je ne sais pas par où commencer pour mettre en œuvre cette fonctionnalité.

Merci.

13voto

Raouf Rahiche Points 4482

J'ai créé une application complète qui montre comment analyser le HTML et en extraire des données, vous pouvez trouvez-le ici mais l'idée est simple :

1.importer ces 3 bibliothèques pour le parsing html

import 'package:http/http.dart' as http;
import 'package:html/parser.dart' as parser;
import 'package:html/dom.dart' as dom;

2.obtenir les données de la page que vous voulez

Future<List<String>> getData() async { 
  http.Response response = await http.get('website');
}

3.extraire les données du site web

dom.Document document = parser.parse(response.body);

4. en fonction de vos besoins, disons que vous voulez obtenir tous les éléments avec la balise "article".

document.getElementsByTagName('article')

et ensuite vous pouvez itérer en jetant tous les articles en utilisant for-each et faire de même pour obtenir les données à l'intérieur de l'article. pensez aussi à faire une classe modèle pour l'article afin de pouvoir le manipuler facilement plus tard

3voto

Tushar Ojha Points 31

Le Web Scraping dans dart est maintenant facile ! Il suffit de vérifier web_scraper paquet sur la pub.

En utilisant ce paquet, vous pouvez gratter les données des balises HTML du site web en listes et cartes simples.

Vous pouvez trouver un exemple dans son référentiel.

2voto

khairy Mohamed Points 146

Je pense qu'une solution propre est de faire ces choses sur le backend si possible, si vous utilisez nodejs comme backend, vous pouvez penser à casperJs o phantomJs pour analyser le html DOM et extraire les données et retourner un json à l'application mobile.

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