2013-01-10 77 views

回答

5

只是你不能。您需要重新抓取頁面以控制它是否已更新。因此,根據您的需要,優先處理頁面/域名並在一段時間內重新抓取它們。爲此,您需要一個作業調度程序,如Quartz

您需要編寫一個比較頁面的函數。但是,Nutch最初將頁面保存爲索引文件。換句話說,Nutch生成新的二進制文件來保存HTML。我不認爲有可能比較二進制文件,因爲Nutch將所有抓取結果合併到一個文件中。如果您想要保存原始的HTML格式來比較頁面,請參閱我的回答this question.

+0

JOB調度程序如何比較爬網如果更新或相同?我的意思是如何nutch或太陽能比較內容? –

+0

編輯答案。 –

+1

因此,如果與舊版本相比有一些變化,並且如果有新內容,那麼應該檢查每個頁面,然後該頁面將被抓取。如果我理解正確,我只需要簡單的函數來比較字符串? –

4

你必須TA的工作是安排在射擊練習作業
然而,Nutch的AdaptiveFetchSchedule應使您能夠抓取和索引的網頁,並檢測是否頁面是新的或更新的,您不必手動完成。

Article描述了相同的細節。

+0

好吧,我閱讀文章,我有另一個問題。我必須使用任何工作sheduler運行我的命令爬行給定的網址或我需要自適應Fetch調度程序來做到這一點?如果Adaptive Fetch是正確的,我該如何使用它? –

+0

您可以在config中配置adaptice schedule wihtin。你需要一個調度程序來解僱工作,例如Autosys,Quartz等 – Jayendra

+2

我不得不在這裏不同意你的看法。您提到的課程根據已爬網站點的「if-modified-since」和「last-modified」http標題進行工作。我必須告訴,沒有任何的網站(除谷歌,youtube,stackoverflow等)不能信任這些標題的真實性。 –