import 'package:http/http.dart' as http; import 'package:html/parser.dart' as htmlParser; class DataService { Future>> obtenerDatos() async { final response = await http.get(Uri.parse('http://www.crcivan.com/escaparate/noticias.cgi?idnoticias=192683')); if (response.statusCode == 200) { final document = htmlParser.parse(response.body); final filaTabla = document.querySelectorAll('html > body > div > center > table > tbody > tr > td > div > center > table > tbody > tr > td > table > tbody > tr > td > font > font > table > tbody > tr'); List> embalsesData = []; for (var fila in filaTabla) { var nombreElemento = fila.querySelector('td > p > span'); var elementos = fila.querySelectorAll('td > span'); if (nombreElemento != null && elementos.isNotEmpty) { var nombre = nombreElemento.text; var listaElementos = elementos.map((elemento) => elemento.text).toList(); var embalseMap = {'nombre': nombre, 'elementos': listaElementos}; embalsesData.add(embalseMap); } } return embalsesData; } else { throw Exception('Error al obtener datos'); } } }