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. sublime在高分辨率屏幕下,左侧边栏字体问题

    因为新的笔记本是1920*1080分辨率的屏幕,在打开sublime的时候,侧边栏的文件夹名字会变得很小,虽然很清晰,但是太小了看起来很吃力, 如下图所示 网上找了很多的方法试了好久没有成功,一天闲下 ...

  2. .NET:异常处理的两条“黄金定律”,求批!

    背景 架构之处必须考虑:如何处理异常?如何定义自己的异常体系?本文为了强化这个概念而写. 异常处理的两条“黄金定律” 自己抄袭的两条规律: 异常不能穿过“边界类”. 异常不能在没有恢复的情况下“吞掉” ...

  3. Servlet Filter 示例

    1. CityQuery.java package com.xxx.servlet; import com.google.common.collect.Lists; import com.xxx.da ...

  4. Linux下解决 id_rsa 权限不够

    问题 @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @         WARNING: UNPROTECTED PRIVAT ...

  5. 第十章 springboot + logback

    logback是boot默认的日志首选,个人觉得是最好的日志实现(比log4j好) 下边,在之前的代码基础上增加一个功能,该功能要实现mybatis的and or联查功能,并通过logback日志在控 ...

  6. 《java 语言程序设计》第1章编程练习

    1.1 public class test { public static void main(String[] args) { System.out.println("Welcome to ...

  7. XMPPFrameWork IOS 开发(三)登录

    原始地址:XMPPFrameWork IOS 开发(三) XMPP中常用对象们: XMPPStream:xmpp基础服务类 XMPPRoster:好友列表类 XMPPRosterCoreDataSto ...

  8. [转] windows下sublime2 安装破解(key可用)

    转: http://jingyan.baidu.com/article/ff4116259b057c12e48237b8.html Sublime Text 2安装汉化破解.插件包安装教程 | 浏览: ...

  9. Oracle的操作系统身份认证

    Oracle的操作系统身份认证 oraclelogin数据库远程登录authenticationos sqlnet.authentication_services=(NTS),在$ORACLE_HOM ...

  10. hyper-v虚拟网络配置

    今天重新整整几个月前装的hyper-v,系统早已经装好但是网络不通. hyper-v虚拟网络分为3种:外部网络,内部网络和专用网络. 外部网络:虚拟机可以连接主机和外部网络. 内部网络:虚拟机可以连接 ...