首页 > 解决方案 > Flutter - 如何将数据从网站解析到列表视图

问题描述

我正在寻求有关我的测试应用程序的帮助,以提供一个新闻提要,以解析来自网站的数据,即VMoneyNews (我有权使用他们的数据)

我的目标是解析该类别article title中的每篇文章的main article text和,以便实现到,在本例中为横向.article imageBitcoin NewslistViewlistViewRow

不要在每篇文章的顶部包含粗体标题文本,或类似文章的链接。

有人可以为我提供此代码吗?我假设这将使用 HTML 依赖项,但我只是不知道从哪里开始实现此功能。

谢谢你。

标签: androidhtmliosdartflutter

解决方案


我创建了一个完整的应用程序,展示了如何解析 HTML 并从中提取数据,你可以在这里找到它,但想法很简单:

1.导入这3个库进行html解析

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

2.从你想要的页面获取数据

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

3.从网站中提取数据

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

4.取决于您的需要假设您想要获取所有带有文章标签的元素

document.getElementsByTagName('article')

然后您可以使用 for-each 迭代 throw all article 并执行相同操作以获取 article 中的数据。还可以考虑为文章创建一个模型类,以便您以后可以轻松地修改它


推荐阅读