Scheduler是WebMagic中对url进行管理的组件,它主要有2个功能:
- 对待抓取的URL队列进行管理。
- 对已抓取的URL进行去重。
一般使用不需要自定义,WebMagic默认实现了QueueScheduler。
WebMagic内置了几个常用的Scheduler。
所有默认的Scheduler都默认实现了 DuplicateRemover接口,去url进行去重。
如果想要关闭去重的功能能,可以自己实现DuplicateRemover接口,在isDuplicate()方法中返回fasle就行了
public class DonothingDuplicateRemover implements DuplicateRemover { @Override public boolean isDuplicate(Request request, Task task) { return false; } @Override public void resetDuplicateCheck(Task task) { } @Override public int getTotalRequestsCount(Task task) { return 0; } }