2012-02-24 115 views
0

我有一個初學者的問題:我想寫一個爬蟲(〜1000個 網頁)與MozMill但往往,網站有裝載 一些元素,所以沒有頁面加載的問題。 - > waitForPageLoad()方法阻止我的爬行器 我該如何繼續?履帶與MozMill

+0

您是否正在運行多個線程? – Kiril 2012-02-24 15:27:29

回答

1

waitForPageLoad方法處於阻塞狀態,這意味着當前正在執行的線程將阻塞,直到方法執行完成。有兩種方法可以阻止應用程序阻止:

  1. 指定超時。
  2. 運行多個線程。

documentation on waitForPageLoad表明存在超時值,所以超時設置爲一些合理的行爲,並在頁面已加載的功能會很快恢復或超時已過期:

void waitForPageLoad(
    in DOMDocument document, 
    in int timeout, 
    in int interval 
); 

的第二種選擇是運行多個線程,無論如何,這對您都有好處。每個線程的任務是加載一個頁面,處理它並選擇另一個頁面加載(從頁面隊列中)。