GuozhongCrawler系列教程 (2) CrawTaskBuilder詳解,zhongguozhongtie
GuozhongCrawler是分層架構。要快速學習CrawlTask獨立的配置多少要瞭解架構的原始碼。所以CrawTaskBuilder提供要更加扁平且易於理解的的方式建立CrawTask
方法詳細資料
- injectStartUrl
public CrawTaskBuilder injectStartUrl(java.lang.String url, java.lang.Class<? extends PageProcessor> processorCls, java.util.Map<java.lang.String,java.lang.Object> contextAttribute, PageRequest.PageEncoding pageEncoding)
添加種子URL設定附加參數和頁面編碼格式 每個injectStartUrl方法注入的種子URL會用一個單獨的StatContext封裝。如果StatContext在抓取過程中不會產生較多新的跟進Request 那麼推薦你使用useDynamicEntrance設定入口URL將會更加提升效率
-
參數:
-
url
-
-
contextAttribute
-
-
PageEncoding
-
-
返回:
-
- injectStartUrl
public CrawTaskBuilder injectStartUrl(java.lang.String url, java.lang.Class<? extends PageProcessor> processorCls, java.util.Map<java.lang.String,java.lang.Object> contextAttribute)
添加種子URL並設定附加參數 每個injectStartUrl方法注入的種子URL會用一個單獨的StatContext封裝。如果StatContext在抓取過程中不會產生較多新的跟進Request 那麼推薦你使用useDynamicEntrance設定入口URL將會更加提升效率
-
參數:
-
url
-
-
contextAttribute
-
-
返回:
-
- useProxyIpPool
public CrawTaskBuilder useProxyIpPool(java.lang.Class<? extends ProxyIpPool> proxyIpPoolCls, int initSize, long pastTime, int max_use_count)
使用代理IP切換機制時設定一個ProxyIpPool的實作類別即可。在封IP網站下推薦使用收費版代理IP效果更佳
-
參數:
-
proxyIpPoolCls
-
-
initSize
- 每次代理IP緩衝池IP不足時載入IP的個數,推薦使用公式initSize=thread*5
-
pastTime
- 每個IP自身的到期時間,當代理IP到期時間到的時候會被清除。這個值根據代理IP的品質決定
-
max_use_count
- 每個代理IP最多使用的次數。推薦使用公式max_use_count=(目標網站連續請求才被封的次數)減去 2到3
-
返回:
-
- build
public CrawlTask build()
配置完成,即可建立CrawlTask
-
返回:
-
CrawlTask