【问题标题】:Get title from html page - FLUTTER从 html 页面获取标题 - FLUTTER
【发布时间】:2023-04-09 12:13:01
【问题描述】:

我想在 Flutter 中创建带有标题和缩略图的 url 预览

我用http包正确下载了网页,但无法获取标签 https://flutter.dev/docs/cookbook/networking/fetch-data

var document = parse('''<!doctype html>
  <html lang="en">
    <head>
        <title>Hello World!</title>
    </head>
    <body>
        <h1>HELLO WORLD!</h1>
        <p>PAGE HTML!</p>
        <img src="image.jpg">
    </body>
  </html>''');


print("PRINT - "+document.body.getElementsByTagName('h1').toString()); --> ("PRINT - [<html h1>]") *

*我想获得h1标题:HELLO WORLD!

谢谢。

【问题讨论】:

  • 你应该使用 Youtube API。响应此 api,您可以获得所有视频相关信息
  • 如果我有一个不一定在 youtube 上的通用链接?

标签: flutter dart flutter-dependencies dart-html


【解决方案1】:

我用过一次 html plugin 它给了你类似的东西

var document = parse(response.body);
document.getElementById // or tagName or className

但是你会得到奇怪的 html 元素需要被解析

【讨论】:

  • 我无法获取 标记内的文本,您能给我看一些代码吗?谢谢
  • 如果只需要处理body元素,可以考虑plugin
  • 我应该从 html 页面获取字符串,然后在我的应用程序中使用它
【解决方案2】:

你可以使用flutter-link-preview插件:

import 'package:flutter/material.dart';
import 'package:link_preview/widget/whatsapp/index.dart';

WhatsAppLinkPreview whatsapp = WhatsAppLinkPreview();

void main() {
  runApp(MaterialApp(
    home: Scaffold(
      body: Center(
      child: whatsapp.build('https://whatsapp.com')
      ),
    ),
  ));
}

【讨论】:

  • 我想自己实现它,但我总是可以改变类,谢谢
【解决方案3】:
print(document.body.getElementsByTagName('h1')[0].innerHtml);

大部分时间都在工作。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-11-06
    • 1970-01-01
    相关资源
    最近更新 更多