1

Web ページ全体をダウンロードしたくありません。時間がかかり、多くのメモリが必要です。

その Web ページの一部をダウンロードするにはどうすればよいですか? それから私はそれを解析します。

のみをダウンロードする必要があるとします<div id="entryPageContent" class="cssBaseOne">...</div>。どうやってやるの?

4

2 に答える 2

4

URL の一部を「この HTML のみ」でダウンロードすることはできません。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();
于 2012-04-10T16:27:27.447 に答える
0

これを使用して:

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

cURL は Web ページの最初の 10k バイトのみをダウンロードします。また、サーバー側がこれをサポートしている場合にのみ機能します。多くの解釈されたスクリプト (CGI、PHP、...) はそれを無視します。

于 2012-04-10T16:27:19.687 に答える