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是否为空。
返回:

GuozhongCrawler系列教程 (4) StartContext具体解释的更多相关文章

  1. GuozhongCrawler系列教程 (1) 三大PageDownloader

    GuozhongCrawler  QQ群 202568714 教程源代码下载地址:http://pan.baidu.com/s/1pJBmerL GuozhongCrawler内置三大PageDown ...

  2. GuozhongCrawler系列教程 (2) CrawTaskBuilder具体解释

    GuozhongCrawler是分层架构.要高速学习CrawlTask独立的配置多少要了解框架的源码.所以CrawTaskBuilder提供要更加扁平且易于理解的的方式创建CrawTask 方法具体资 ...

  3. GuozhongCrawler系列教程 (5) TransactionRequest具体解释

    为了实现和维护并发抓取的属性信息提供线程安全的事务请求.TransactionRequest是一个抽象类自己不能设置Processor,却须要实现 TransactionCallBack接口.Tran ...

  4. Angular2入门系列教程7-HTTP(一)-使用Angular2自带的http进行网络请求

    上一篇:Angular2入门系列教程6-路由(二)-使用多层级路由并在在路由中传递复杂参数 感觉这篇不是很好写,因为涉及到网络请求,如果采用真实的网络请求,这个例子大家拿到手估计还要自己写一个web ...

  5. C#微信公众号开发系列教程二(新手接入指南)

    http://www.cnblogs.com/zskbll/p/4093954.html 此系列前面已经更新了两篇博文了,都是微信开发的前期准备工作,现在切入正题,本篇讲解新手接入的步骤与方法,大神可 ...

  6. 【ASP.NET Identity系列教程(一)】ASP.NET Identity入门

    注:本文是[ASP.NET Identity系列教程]的第一篇.本系列教程详细.完整.深入地介绍了微软的ASP.NET Identity技术,描述了如何运用ASP.NET Identity实现应用程序 ...

  7. 【ASP.NET Identity系列教程(二)】运用ASP.NET Identity

    注:本文是[ASP.NET Identity系列教程]的第二篇.本系列教程详细.完整.深入地介绍了微软的ASP.NET Identity技术,描述了如何运用ASP.NET Identity实现应用程序 ...

  8. 【ASP.NET Identity系列教程(三)】Identity高级技术

    注:本文是[ASP.NET Identity系列教程]的第三篇.本系列教程详细.完整.深入地介绍了微软的ASP.NET Identity技术,描述了如何运用ASP.NET Identity实现应用程序 ...

  9. 随笔分类 - 无废话ExtJs系列教程

    随笔分类 - 无废话ExtJs系列教程 摘自:http://www.cnblogs.com/iamlilinfeng/category/385121.html ExtJs 入门教程 摘要: extjs ...

随机推荐

  1. Dual-polarity supply provides ±12V from one IC

    LT1961 升压型稳压器造就了兼具升压和降压能力的扁平状SEPIC Transformerless dc/dc converter produces bipolar outputs Well-reg ...

  2. HDU 2896 病毒侵袭 【AC自动机】

    HDU 2222 仅仅求出了和文本串匹配的模式串个数,本题要求求出匹配的模式串的编号. 不同的部分在代码中的注释部分. #include <cstdio> #include <cst ...

  3. uva 784 Maze Exploration(简单dfs)

    这道题看上去非常麻烦,什么迷宫啊.门之类的,事实上挺简单的,就是让把与 * 连通的都置为 # 包含 * , 直接dfs就能够了,只是我wa了好多次...最后居然是多读了一个换行.忘了加getchar( ...

  4. 仿LOL项目开发第五天

    仿LOL项目开发第五天 by草帽 今天呢,我们看下能开发什么内容,首先上节我们已经讲了UI框架的搭建,上节还遗留下很多问题,比如说消息的字符是代码里面自己赋值的. 那么就比较死板,按照正常的逻辑,那些 ...

  5. MySQL create table as与create table like对比

    a.create table like方式会完整地克隆表结构,但不会插入数据,需要单独使用insert into或load data方式加载数据b.create table as  方式会部分克隆表结 ...

  6. ICLR 2013 International Conference on Learning Representations深度学习论文papers

    ICLR 2013 International Conference on Learning Representations May 02 - 04, 2013, Scottsdale, Arizon ...

  7. 2016/4/14腾讯Android实习面试

    腾讯实习面试,面试官会先问你会什么,擅长什么.然后会依照这个问,问的也不是非常偏,问道你不会的就换下一个知识点. 主要问我的有这几个问题 图形学 1.Bizer曲线怎么绘制的.原理是什么 2.对栅格有 ...

  8. iOS: FFmpeg的使用二

    1.下载并编译FFMPEG. https://github.com/kewlbear/FFmpeg-iOS-build-script 下载后有一个build-ffmpeg.sh文件.终端执行即可自动下 ...

  9. OpenCV学习(11) 图像的腐蚀与膨胀(2)

    先对一副灰度图像进行腐蚀操作,然后在腐蚀后的图像上再进行膨胀操作,我们定义这个操作为开操作. 先对一副图像进行膨胀操作,然后在膨胀后的图像上再进行腐蚀操作,我们定义这个操作为闭操作.       开操 ...

  10. split-array-largest-sum(参考了discuss)

    注意,第一种用法,涉及到一些Java的知识.就是采用Object作为HashMap的key的时候,需要重载这个Class的 equals 和 hashCode 这两个方法.其中equals需要判断一下 ...