我正在寫一個網站爬蟲在java中,我想知道什麼是最明智的方式來運行它?換句話說,我是否應該使用標準的Web應用程序路線並放入Web服務器並使用某種消息隊列,或者是否忘記容器並將其作爲獨立的Java應用程序運行?運行一個網站爬蟲
這不是一個真正的網絡爬蟲,因爲它只關心x站點,但我想不斷循環瀏覽這些站點(24小時)以確保我擁有最新的內容。
我正在寫一個網站爬蟲在java中,我想知道什麼是最明智的方式來運行它?換句話說,我是否應該使用標準的Web應用程序路線並放入Web服務器並使用某種消息隊列,或者是否忘記容器並將其作爲獨立的Java應用程序運行?運行一個網站爬蟲
這不是一個真正的網絡爬蟲,因爲它只關心x站點,但我想不斷循環瀏覽這些站點(24小時)以確保我擁有最新的內容。
問問自己,能否通過網絡請求訪問您的網絡爬蟲是否有任何優勢(對您)?如果沒有,則沒有理由將其放入Web容器中。
...但我想通過這些網站(24小時),以確保我有最新的內容不斷地循環。
我希望你有網站所有者的同意/許可來做到這一點。否則,他們可能會採取技術或法律措施阻止你這樣做。
正如Danny Thomas所說,您的抓取工具應該實現了一個「robots.txt」處理程序,並且尊重這些文件在抓取時所說的內容。
隨訪
我可能不適合,因爲我需要訪問的網站數量至少10-15小時再次訪問同一頁面。那還是普遍被認爲是過多的爬行?
這不是正確的問題。要問的正確問題是特定網站所有者是否會認爲這是過多的抓取。
它花了多少錢?他們是否需要做額外的工作來處理由抓取引起的負載?他們需要增加容量嗎?它會增加他們的運行成本嗎? (網絡收費,電費?)
你是否在做他們的內容,可以減少他們的收入;例如減少他們網站上真正的點擊次數,廣告點擊次數?
他們從您的抓取中獲得什麼好處?
你是在爲公益事業做些什麼? (或者是它只是一個方法可以讓你賺錢的他們的內容?)
真正瞭解是問他們的唯一途徑。
任何爬蟲都應該遵守robots.txt,除了Stephen的考慮之外,一般都會採取措施成爲一個好公民。 – 2012-01-09 22:50:44
謝謝。是的,我沒有看到需要通過Web請求訪問它的場景。爲了清楚起見,我希望抓取工具隨時都可以正常工作,但由於我需要訪問的站點數量,我可能不會再訪問同一頁面至少10-15個小時。那還是普遍被認爲是過多的爬行?當然,我會確保符合robot.txt中的要求。 – Nefsu 2012-01-09 22:54:36
謝謝Stephen C.有用的反饋。我會用不同的網站來研究這些問題。這些人中的大多數都是巨型在線零售商,所以我們會看到這是否是他們的問題。 – Nefsu 2012-01-10 18:42:18
如果我沒有在網絡爬蟲中運行它,那麼將它作爲shell cron作業調度它的一些推薦方式將不會被運行。 – Nefsu 2012-01-10 00:11:48