Разбор HTML в FLUTTER для разработки под Android / iOS
Мы знаем, что есть библиотека Jsoup для разработчиков Android для анализа html-текста, кода и т. Д. Поскольку я новичок в разработке мобильных приложений для флаттера, я хочу знать, есть ли какая-либо библиотека, например Jsoup, для анализа html-текста, кода с веб-сайта во флаттере,
1 ответ
Вы можете разобрать строку HTML таким образом
import ‘package:html/parser.dart’;
//here goes the function
String _parseHtmlString(String htmlString) {
var document = parse(htmlString);
String parsedString = parse(document.body.text).documentElement.text;
return parsedString;
}
Пожалуйста, дайте мне знать, что это не решит вашу проблему.
Я решаю проблему для себя. Во-первых, для парсера пользователя вы должны получить данные, используя http.get(url)
, После этого вы можете разобрать, что вы хотите.
Получить HTML-страницу:
Future<String> fetchHTML(String url) async {
final response = await http.get(url);
if (response.statusCode == 200)
return response.body;
else throw Exception('Failed');
}
После этого вы должны позвонить FutureBuilder()
FutureBuilder<String>(
future: fetchHTML('http://your_page.ru/page.html'),
builder: (context, snapshot){
if (snapshot.hasData) {
//Your downloaded page
_temp = snapshot.data;
print(snapshot.data);
return Text('Finished');
}
else if (snapshot.hasError)
return Text('ERROR');
return Text('LOADING');
},
),
И теперь вы можете разобрать это:
parse(_temp);