【问题标题】:HTML DOMParser in LaravelLaravel 中的 HTML DOMParser
【发布时间】:2019-11-25 02:33:23
【问题描述】:

我想从站点http://www3.nhk.or.jp/news/html/20191121/k10012185811000.html获取“p”标签的内容

p 标签有 'content--summary' & 'content--summary-more' 类,但我无法获取数据 这是我的代码

        $htmlurl = 'http://www3.nhk.or.jp/news/html/20191121/k10012185811000.html';
        $dom = new \DOMDocument();
        $dom->loadHTMLFile($htmlurl);
        $data = $dom->getElementsByTagName('p');

请告诉我如何获取文本。我正在使用 laravel 6.2

【问题讨论】:

标签: laravel domparser


【解决方案1】:

试试这个:

$htmlurl = 'http://www3.nhk.or.jp/news/html/20191121/k10012185811000.html';
$dom = new \DOMDocument();
$dom->loadHTMLFile($htmlurl);
$data = $dom->getElementsByTagName('p');
foreach( $data as $p ) {
    echo $p->textContent; // Print out content of <p> tags
    echo $p->getAttribute('class'); // Print out attribute's <p> classes
}

【讨论】:

  • 您收到错误消息了吗?或者它只是找不到标签

    并打印出空结果?我打开您尝试解析的站点 URL,它们使用 JS 框架并通过以 JSON 表示的 AJAX 请求下载内容,在这种情况下 DOMDocument 不起作用。您应该尝试使用 JSON 解析器。

猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-06-13
  • 1970-01-01
  • 1970-01-01
  • 2014-10-06
  • 1970-01-01
  • 1970-01-01
  • 2019-08-09
相关资源
最近更新 更多