我正在編寫一個基本腳本來觀察網頁並在發生變化時與它進行交互。調整網頁觀察器的性能
我正在用Perl編寫,使用curl來獲取頁面和grep來觀察它的變化。
的手錶結構我使用的是以下
my $string = '';
do {
$string = curl -s --cookie cookie.txt "http://url.com/resource" | grep "thing_that_has_appeared"
} until ($string ne '');
它隨後被傳遞到被用來提取信息的字符串。
頁面本身作爲捲曲文件下載時爲16KB。
在網絡帶寬和處理器使用情況下,運行此操作時會看到很大的負載。
關鍵是要儘可能接近,這是在第二個或第二個尺度的一小部分,所以一些合理的負載是可以接受的。我只是想知道我是否會錯誤地做這件事,並且如果有更高效的方式來觀看頁面?
服務器未發出Last-Modified
標頭。
有沒有什麼方法可以指示捲曲(或者中斷它)來停止下載頁面,一旦我確認它沒有改變?
我覺得我主要是需要見解。我的太有限了。
編輯:回覆評論我已經包括循環,並指定時間跨度。
curl命令只提取一次網頁。如果您看到*顯着負載*,那麼您必須將此命令封裝在一個不顯示的循環中。請顯示您的其他代碼。你希望用這種方式迴應什麼樣的迴應時間?你可以每天檢查一次嗎?執行此操作的最佳方法是檢查HTTP標頭。你確定改變不會反映在標題中嗎? – Borodin
「有沒有什麼方法可以指導捲曲(或者可能中斷它),以便在確認尚未更改時停止下載頁面?」沒有像Last-Modified這樣的頭文件,除非您下載完整內容,否則無法確認該頁面是否相同。 (如果只有最後一個字節發生了變化呢?) – ThisSuitIsBlackNot
什麼是「thing_that_has_appeared」?這聽起來像是你真的在等待特定的內容而不是簡單的改變 – Borodin