StartContext是注入時全部seed的上下文信息若是爬蟲在抓取過程中須要共享一些變量。那麼可以使用StartContext做爲容器。java
public StartContext()
構造一個StartContext。一般用來充當seedRequest的容器安全
public StartContext(java.lang.String url, java.lang.Class<? extends PageProcessor> processorCls)
構造一個StartContext。而且加入一個種子URLui
參數:編碼
url
-url
processorCls
-spa
public StartContext(java.lang.String url, java.lang.Class<? extends PageProcessor> processorCls, PageRequest.PageEncoding pageEncoding)
構造一個StartContext。而且加入一個種子URL線程
參數:code
url
-component
processorCls
-對象
pageEncoding
- URL對應網頁的編碼
public PageRequest createPageRequest(java.lang.String url, java.lang.Class<? extends PageProcessor> processorCls)
建立網頁下載請求PageRequest
參數:
url
- 這個請求對應的http或者https 地址
processorCls
- 下載完成後處理這個網頁Page的PageProcessor的class對象
返回:
PageRequest
public PageRequest createPageRequest(java.lang.String url, java.lang.Class<? extends PageProcessor> processorCls, int priority, PageRequest.PageEncoding pageEncoding)
建立網頁下載請求PageRequest
參數:
url
- 這個請求對應的http或者https 地址
processorCls
- 下載完成後處理這個網頁Page的PageProcessor的class對象
priority
- 設置這個PageRequest的priority。須要注意的只有使用crawTaskBuilder.useQueuePriorityRequest或者crawTaskBuilder.useQueueDelayedPriorityRequest的時候 priority纔會起做用並排序。
pageEncoding
- 這個PageRequest對應URL的網頁編碼格式。若是不指定那麼會用crawTaskBuilder中指定的usePageEncoding。若是crawTaskBuilder沒有 使用usePageEncoding。則默認用UTF-8編碼
返回:
PageRequest
public PageRequest createPageRequest(java.lang.String url, java.lang.Class<? extends PageProcessor> processorCls, int priority)
建立網頁下載請求PageRequest
參數:
url
- 這個請求對應的http或者https 地址
processorCls
- 下載完成後處理這個網頁Page的PageProcessor的class對象
priority
- 設置這個PageRequest的priority。須要注意的只有使用crawTaskBuilder.useQueuePriorityRequest或者crawTaskBuilder.useQueueDelayedPriorityRequest的時候 priority纔會起做用並排序。
返回:
PageRequest
public BinaryRequest createBinaryRequest(java.lang.String url, java.lang.Class<? extends BinaryProcessor> processorCls)
建立一個二進制下載請求
參數:
url
- 這個請求對應的http或者https 地址
processorCls
- 文件下載時處理這個InputStream的BinaryProcessor的class對象
返回:
BinaryRequest
public TransactionRequest createTransactionRequest(TransactionCallBack transactionCallBack)
建立支持事務的下載請求。
參數:
transactionCallBack
- 事務完成後的回調接口的Class
返回:
TransactionRequest
public TransactionRequest createTransactionRequest(TransactionCallBack transactionCallBack, BasicRequest... child)
給定一個child集合建立支持事務的下載請求。
參數:
transactionCallBack
- 事務完成後的回調接口
child
- child集合
返回:
TransactionRequest
public void injectSeed(BasicRequest request)
注入種子
參數:
request
-
public java.util.List<BasicRequest> getSeedRequests()
返回該StartContext所包含的全部種子URL
返回:
public java.lang.Object getContextAttribute(java.lang.String attribute)
返回attribute對應的value 這個方法是線程安全的
參數:
key
-
返回:
返回attribute對應的value
public java.lang.Object putContextAttribute(java.lang.String attribute, java.lang.Object value)
向StartContext域put一個屬性值。並返回以前的attribute對應的value。若是以前沒有attribute屬性那麼返回null。這個方法是線程安全的
參數:
attribute
-
value
-
返回:
返回以前的attribute對應的value。若是以前沒有attribute屬性那麼返回null
public int getSeedSize()
返回種子URL的個數
返回:
public boolean isEmpty()
返回StartContext是否爲空。
返回: