2012-02-24 72 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 
); 

的第二种选择是运行多个线程,无论如何,这对您都有好处。每个线程的任务是加载一个页面,处理它并选择另一个页面加载(从页面队列中)。