特定の動的 Web サイト用のクローラーを作成しました。すべてのクロール ジョブに 3 時間以上かかります。ページが既にクロールされているか、ページにいくつかの変更があるかを制御したい。これができれば、スクリプトは非常に短時間で完了します。
例えば:
foreach ($urls as $url) {
if(thereAreChanges($url)){
crawl($url);
}
}
情報: Web ページは content-length と crc を提供していません。
Array ( [0] => HTTP/1.1 200 OK
[Date] => Tue, 08 Jan 2013 07:47:03 GMT
[Server] => Apache
[Set-Cookie] => Array (
[0] => PHPSESSID=eisb6qjme9b0ouoga9su9fgok4; path=/
[1] => j12011=a%3A3%3A%7Bs%3A3%3A%22sid%22%3Bs%3A26%3A%22eisb6qjme9b0ouoga9su9fgok4%22%3Bs%3A2%3A%22ip%22%3Bs%3A12%3A%2294.103.47.65%22%3Bs%3A4%3A%22time%22%3Bi%3A1357631223%3B%7D; expires=Sat, 09-Mar-2013 07:47:03 GMT; path=/
)
[Expires] => Thu, 19 Nov 1981 08:52:00 GMT
[Cache-Control] => no-store, no-cache, must-revalidate, post-check=0, pre-check=0
[Pragma] => no-cache
[Vary] => Accept-Encoding
[Connection] => close
[Content-Type] => text/html
)
このサイトは Content-Type を提供していますが、Content-Length を提供していません。コンテンツの長さをApacheに尋ねるにはどうすればよいですか。
更新: http://urivalet.com/はコンテンツの長さを取得できます。私はこれを必要とする。
ヘッダーでページのCRCコードを取得できれば。それは完璧です。しかし、これはロングショットだと思います。