私はウェブページ全体をダウンロードしたくありません。時間がかかり、多くの記憶が必要です。ウェブページの一部をダウンロードして解析するにはどうすればよいですか?
どうすればそのウェブページの一部をダウンロードできますか?それから私はそれを解析します。
<div id="entryPageContent" class="cssBaseOne">...</div>
のみをダウンロードする必要があるとします。どうやってやるの?この使用
私はウェブページ全体をダウンロードしたくありません。時間がかかり、多くの記憶が必要です。ウェブページの一部をダウンロードして解析するにはどうすればよいですか?
どうすればそのウェブページの一部をダウンロードできますか?それから私はそれを解析します。
<div id="entryPageContent" class="cssBaseOne">...</div>
のみをダウンロードする必要があるとします。どうやってやるの?この使用
「このHTMLのみ」でURLの一部をダウンロードすることはできません。 HTTPは、部分的なダウンロードのバイト範囲のみをサポートし、HTML/XMLドキュメントツリーの概念を持ちません。
ページ全体をダウンロードし、DOM parserにロードして、必要な部分だけを抽出する必要があります。
$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");
は、カールは、Webページの最初の10Kバイトをダウンロードするようになります。また、サーバー側がこれをサポートしている場合にのみ機能します。多くのインタプリタスクリプト(CGI、PHP、...)はそれを無視します。
できません。サーバーを制御してレスポンスをカスタマイズすることができる場合を除きます。その場合、部分的なビューを送り返すことができます。 – Rob
おそらく:http://stackoverflow.com/questions/1538952/retrieve-partial-web-page – mikevoermans
@Rob:サーバーは、すべてのデータを読み込む前に、クライアントがソケットを閉じるのを強制することはできません。 – geoffspear