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


How can i download and parse portion of web page?

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

如何下载该网页的一部分?然后我将解析它。

假设我只需要下载<div id="entryPageContent" class="cssBaseOne">...</div>.我该怎么做?

您不能通过"仅此一段 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();

使用这个:

curl_setopt($ch, CURLOPT_RANGE, "0-10000");

将使 cURL 仅下载网页的前 10k 字节。此外,只有在服务器端支持此功能时,它才会起作用。许多解释脚本(CGI,PHP等)忽略了它。