gpt4 book ai didi

html - Flutter,从网站获取特定图像

转载 作者:IT王子 更新时间:2023-10-29 06:40:23 25 4
gpt4 key购买 nike

我正在学习 flutter 并想获取各种图像,这些图像是卡通的缩略图。我使用了 HTTP 库并获取了响应数据。

但是,我该如何提取该图像?

网站:https://comic.naver.com/webtoon/weekdayList.nhn?week=

enter image description here

Future<http.Response> _getData() async {
return await http.get('https://comic.naver.com/webtoon/weekdayList.nhn?week=');
}

@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
backgroundColor: Colors.red,
),
body: Center(
child: RaisedButton(
child: Text("Fetching"),
onPressed: (){
_getData().then((response){
//dom.Document document = parser.parse(response.body);
print(response.body);
}).catchError((e) => print(e));
},
),
),
);
}

What I want to do is below.

  1. Fetching web page as HTML code
  2. Find image url of each cartoon
  3. Fetch that image

最佳答案

这里有一个基本示例,按下右上角的按钮后,您将在 ListView 中获取图像:

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


...create your StatefulWidget



class ParsingWidgetState extends State<ParsingWidget> {
List<String> list = List();

void _getData() async {
final response =
await http.get('https://comic.naver.com/webtoon/weekdayList.nhn?week=');
dom.Document document = parser.parse(response.body);
final elements = document.getElementsByClassName('thumb');

setState(() {
list = elements
.map((element) =>
element.getElementsByTagName("img")[0].attributes['src'])
.toList();
});
}

@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
backgroundColor: Colors.red,
actions: <Widget>[
IconButton(
icon: Icon(Icons.refresh),
onPressed: () {
_getData();
},
),
],
),
body: ListView.builder(
itemCount: list.length,
itemBuilder: (context, index) {
return Image.network(
list[index],
height: 200.0,
);
},
));
}
}

尝试使用 FutureBuilder 而不是 setState,这只是一个工作示例。

更多信息:

关于html - Flutter,从网站获取特定图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53984429/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com