Flutter/Dart解析网站图片失败,仅获取到占位图而非真实URL
问题:无法获取电商网站真实图片URL,仅返回占位图
我在解析arbuz.kz网站数据时,标题、价格等内容都能正常抓取,但商品图片始终只能拿到占位图路径/static/platform/frontend/assets/app/image-placeholder.svg,尝试解析其他电商网站也遇到同样的情况。
以下是我的Flutter代码:
import 'package:flutter/material.dart'; import 'package:http/http.dart' as http; import 'package:html/dom.dart' as dom; import 'package:xleb/data/article.dart'; class MainPage extends StatefulWidget { const MainPage({super.key}); @override State<MainPage> createState() => _MainPageState(); } class _MainPageState extends State<MainPage> { List<Article> articles = []; @override void initState() { getWebsiteData(); super.initState(); } Future getWebsiteData() async { final url = Uri.parse( 'https://arbuz.kz/ru/collections/249615-pozabottes_o_sebe_#/'); final response = await http.get(url); dom.Document html = dom.Document.html(response.body); final titles = html .querySelectorAll(' article > main > a') .map((e) => e.innerHtml.trim()) .toList(); final prices = html.querySelectorAll('b').map((e) => e.innerHtml.trim()).toList(); final urlImages = html.querySelectorAll('img').map((e) => e.attributes['src']!).toList(); print(urlImages); print(titles); setState(() { articles = List.generate( titles.length, (index) => Article( title: titles[index], price: prices[index], urlImage: urlImages[index], ), ); }); } @override Widget build(BuildContext context) { return Scaffold( appBar: AppBar(), body: ListView.builder( itemCount: articles.length, itemBuilder: (context, index) { final article = articles[index]; return ListTile( title: Text(article.title), subtitle: Text(article.price), leading: SizedBox(width: 50, child: Image.network(article.urlImage)), ); })); } }
内容的提问来源于stack exchange,提问作者Abdulla Amangeldi
相关产品推荐
相关产品推荐

