GuozhongCrawler系列教程 (4) StartContext详解
来源:互联网 发布:软件白名单 编辑:程序博客网 时间:2024/06/17 15:38
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是否为空。
- 返回:
0 0
- GuozhongCrawler系列教程 (4) StartContext详解
- GuozhongCrawler系列教程 (2) CrawTaskBuilder详解
- GuozhongCrawler系列教程 (3) PageProcessor详解
- GuozhongCrawler系列教程 (5) TransactionRequest详解
- GuozhongCrawler系列教程 (1) 三大PageDownloader
- CSS3 经典教程系列:CSS3 圆角(border-radius)详解
- CSS3 经典教程系列:CSS3 圆角(border-radius)详解
- 学习SpringMVC系列教程(二)DispatcherServlet详解
- CSS3 经典教程系列:CSS3 圆角(border-radius)详解
- 学习SpringMVC系列教程(二)DispatcherServlet详解
- 学习SpringMVC系列教程(二)DispatcherServlet详解
- 学习SpringMVC系列教程(三)Controller接口控制器详解
- CSS3 经典教程系列:CSS3 圆角(border-radius)详解
- Android系列教程 adb操作命令详解
- Android系列教程adb操作命令详解
- 尚学堂hadoop详解系列教程
- Java 数据库系列教程--C3P0详解
- redis配置详解-redis系列教程
- 【算法】出现次数超过一半的数字
- Eclipse ModernGoon
- 再谈 Linux下的nanosleep函数
- “System.Web.HttpRequestBase”未被引用的程序
- 1006-HBase操作实战(JAVA API模式)
- GuozhongCrawler系列教程 (4) StartContext详解
- Linux POSIX Message Queue 使用体会
- 策略模式--商场收费系统
- android studio添加三方类库(module)
- linux常用命令
- vs2013中QT信号槽绑定
- difference-in-differences with fixed effects
- 最长公共子序列
- hdu 2115 I Love This Game