curl 抓取网页(我正在“尝试”抓取页面内具有以下结构的网页)

优采云 发布时间: 2022-01-14 20:08

  curl 抓取网页(我正在“尝试”抓取页面内具有以下结构的网页)

  我正在“尝试”抓取页面内具有以下结构的网页:

  <p class="row">

stuff here

Descriptive Link Text

Link Description Here

</p>

  我正在使用 curl 抓取网页

  我做了一些研究,发现我不应该使用 RegEx 来解析从 curl 返回的 HTML,我应该使用 PHP DOM。我就是这样做的:

  $newDom = new domDocument;

$newDom->loadHTML($html);

$newDom->preserveWhiteSpace = false;

$sections = $newDom->getElementsByTagName('p');

$nodeNo = $sections->length;

for($i=0; $iitem($i)->nodeValue;

echo $printString . "

";

}

  现在我并没有假装我完全理解这一点,但我明白了要点,我确实得到了我想要的部分。唯一的问题是我得到的只是 HTML 页面的文本,就好像我从浏览器窗口复制它一样。我想要的是实际的 HTML,因为我想提取链接并像这样使用它们:

  for($i=0; $iitem($i)->nodeValue;

echo "<a href=\"extracted link\">LINK</a> " . $printString . "

";

}

  如您所见,我无法获得链接,因为我只获得网页的文本,而不是我想要的来源。我知道“curl_exec”正在提取 HTML,并且由于我已经尝试过,我相信 DOM 会以某种方式剥离我想要的 HTML。

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线