3

我正在抓取(使用 PHP 简单的 HTML DOM)许多不同的(新闻)网站,目的是获取页面上的主要内容/文本正文。

为此,我能想到的最好方法是找到主标题/标题(H1)并获取与此标题标签相同的 div 中包含的文本。

在下面的两个示例中,我将如何获取整个(父?) div 的内容。

<div>  <----- need to get contents of this whole div (containing the h1 and likely the main body of text)
  <h1></h1>
  main body of text here
</div>

Div 可能在树上更远。

<div> <----- need to get contents of this whole div
  <div>   
    <h1></h1>
  </div>

  <div>
    main body of text here
  </div>
</div>

Div 甚至更进一步。

<div> <----- need to get contents of this whole div
  <div>

    <div>   
      <h1></h1>
    </div>

    <div>
      main body of text here
    </div>

  </div>
</div>

然后我可以比较每个的大小,并确定主 div。

4

2 回答 2

4

您可以使用parent获取的父元素h1

# assuming that the <h1> element is the first <h1> on the page:
$div = $html->find('h1', 0)->parent();
于 2014-10-09T22:29:34.580 回答
1

假设 $e 包含您选择的 H1 元素。你可以调用 $e->parent() 来获取父元素。

查看“如何遍历 DOM 树?” 在“遍历 DOM 树”选项卡上。http://simplehtmldom.sourceforge.net/manual.htm

于 2014-10-09T22:28:54.447 回答