如何下载并解析网页的一部分?

shi*_*bly 2 php parsing curl wget

我不想下载整个网页。这需要时间并且需要大量内存。

我如何下载该网页的部分内容?然后我会解析它。

假设我只需要下载<div id="entryPageContent" class="cssBaseOne">...</div>. 我怎样才能做到这一点?

Mar*_*c B 5

您无法通过“仅此一段 HTML”来下载 URL 的一部分。HTTP 仅支持部分下载的字节范围,并且没有 HTML/XML 文档树的概念。

因此,您必须下载整个页面,将其加载到DOM 解析器中,然后仅提取您需要的部分。

例如

$html = file_get_contents('http://example.com/somepage.html');
$dom = new DOM();
$dom->loadHTML($html);
$div = $dom->getElementById('entryPageContent');

$content = $div->saveHTML();
Run Code Online (Sandbox Code Playgroud)