GuozhongCrawler系列教程 (4) StartContext詳解

  StartContext是注入時全部seed的上下文信息若是爬蟲在抓取過程中須要共享一些變量。那麼可以使用StartContext做爲容器。java


構造器詳細資料

  • StartContext

    public StartContext()

    構造一個StartContext。一般用來充當seedRequest的容器安全

  • StartContext

    public StartContext(java.lang.String url,
                java.lang.Class<? extends PageProcessor> processorCls)

    構造一個StartContext。而且加入一個種子URLui

    • 參數:編碼

    • url -url

    • processorCls -spa

  • StartContext

    public StartContext(java.lang.String url,
                java.lang.Class<? extends PageProcessor> processorCls,            PageRequest.PageEncoding pageEncoding)

    構造一個StartContext。而且加入一個種子URL線程

    • 參數:code

    • url -component

    • processorCls -對象

    • pageEncoding - URL對應網頁的編碼

方法詳細資料

  • createPageRequest

    public PageRequest createPageRequest(java.lang.String url,
                                java.lang.Class<? extends PageProcessor> processorCls)

    建立網頁下載請求PageRequest

    • 參數:

    • url - 這個請求對應的http或者https 地址

    • processorCls - 下載完成後處理這個網頁Page的PageProcessor的class對象

    • 返回:

    • PageRequest

  • createPageRequest

    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

  • createPageRequest

    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

  • createBinaryRequest

    public BinaryRequest createBinaryRequest(java.lang.String url,
                                    java.lang.Class<? extends BinaryProcessor> processorCls)

    建立一個二進制下載請求

    • 參數:

    • url - 這個請求對應的http或者https 地址

    • processorCls - 文件下載時處理這個InputStream的BinaryProcessor的class對象

    • 返回:

    • BinaryRequest

  • createTransactionRequest

    public TransactionRequest createTransactionRequest(TransactionCallBack transactionCallBack)

    建立支持事務的下載請求。

    • 參數:

    • transactionCallBack - 事務完成後的回調接口的Class

    • 返回:

    • TransactionRequest

  • createTransactionRequest

    public TransactionRequest createTransactionRequest(TransactionCallBack transactionCallBack,                                          BasicRequest... child)

    給定一個child集合建立支持事務的下載請求。

    • 參數:

    • transactionCallBack - 事務完成後的回調接口

    • child - child集合

    • 返回:

    • TransactionRequest

  • injectSeed

    public void injectSeed(BasicRequest request)

    注入種子

    • 參數:

    • request -

  • getSeedRequests

    public java.util.List<BasicRequest> getSeedRequests()

    返回該StartContext所包含的全部種子URL

    • 返回:


  • getContextAttribute

    public java.lang.Object getContextAttribute(java.lang.String attribute)

    返回attribute對應的value 這個方法是線程安全的

    • 參數:

    • key -

    • 返回:

    • 返回attribute對應的value

  • putContextAttribute

    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

  • getSeedSize

    public int getSeedSize()

    返回種子URL的個數

    • 返回:


isEmpty

public boolean isEmpty()

返回StartContext是否爲空。

  • 返回:

相關文章
相關標籤/搜索