Разбор 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);
Другие вопросы по тегам