【发布时间】:2019-08-11 06:15:12
【问题描述】:
我正在尝试在 Flutter 中执行 Web 解析。我想从某个网站https://www2.9anime.to/watch/black-clover-dub.2y44/0wql03获取所有剧集链接和编号
这是我解析 html 的代码:
var url = 'https://www2.9anime.to/watch/black-clover-dub.2y44/0wql03';
http.Response response = await http.get((url));
dom.Document document = parse(response.body);
List<dom.Element> rapidvideoepisodelinks = document.getElementsByTagName('#servers-container');
List<Map<String, dynamic>> rapidvideoepisodelinkMap = [];
for (var link in rapidvideoepisodelinks) {
rapidvideoepisodelinkMap.add(
{
/////////////////////some logic////////////////////
});
}
var rapidvideoepisodejson = json.encode(rapidvideoepisodelinkMap);
rapidvideoepisodelist = (json.decode(rapidvideoepisodejson) as List)
.map((data) => new Rapidvideoepisodelist.fromJson(data))
.toList();
setState(() {
isLoading = false;
});
但问题是,剧集内容区域需要几秒钟才能加载。并且 http.get 在这部分加载之前加载网站太早了。因此,我无法完全解析它。这个包含剧集的区域甚至没有加载,所以它的 HTML 没有被解析。除了像这样需要额外时间加载的区域外,其他一切似乎都运行良好。
有没有办法解决这个问题? 就像在网站完全加载后解析网站之类的。
非常感谢任何帮助。
【问题讨论】:
标签: android dart flutter dart-html