GuozhongCrawler系列教程 (4) StartContext详解

  StartContext是注入时所有seed的上下文信息如果爬虫在抓取过程当中需要共享一些变量。那么可使用StartContext作为容器。


构造器详细资料

  • StartContext
    public StartContext()

    构造一个StartContext。通常用来充当seedRequest的容器

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

    构造一个StartContext。并且加入一个种子URL

    • 参数:

    • url -

    • processorCls -

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

    构造一个StartContext。并且加入一个种子URL

    • 参数:

    • url -

    • 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是否为空。

  • 返回:


转载于:https://my.oschina.net/u/1377701/blog/464292

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值