• 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是否为空。
    返回:
  • 相关阅读:
    IOS Charles(代理服务器软件,可以用来拦截网络请求)
    Javascript中addEventListener和attachEvent的区别
    MVC中实现Area几种方法
    Entity Framework Code First 中使用 Fluent API 笔记。
    自定义JsonResult解决 序列化类型 System.Data.Entity.DynamicProxies 的对象时检测到循环引用
    序列化类型 System.Data.Entity.DynamicProxies 的对象时检测到循环引用
    An entity object cannot be referenced by multiple instances of IEntityChangeTracker 的解决方案
    Code First :使用Entity. Framework编程(8) ----转发 收藏
    Code First :使用Entity. Framework编程(6) ----转发 收藏
    Code First :使用Entity. Framework编程(5) ----转发 收藏
  • 原文地址:https://www.cnblogs.com/yutingliuyl/p/6718310.html
Copyright © 2020-2023  润新知