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()
- 返回:
GuozhongCrawler系列教程 (4) StartContext具体解释的更多相关文章
- GuozhongCrawler系列教程 (1) 三大PageDownloader
GuozhongCrawler QQ群 202568714 教程源代码下载地址:http://pan.baidu.com/s/1pJBmerL GuozhongCrawler内置三大PageDown ...
- GuozhongCrawler系列教程 (2) CrawTaskBuilder具体解释
GuozhongCrawler是分层架构.要高速学习CrawlTask独立的配置多少要了解框架的源码.所以CrawTaskBuilder提供要更加扁平且易于理解的的方式创建CrawTask 方法具体资 ...
- GuozhongCrawler系列教程 (5) TransactionRequest具体解释
为了实现和维护并发抓取的属性信息提供线程安全的事务请求.TransactionRequest是一个抽象类自己不能设置Processor,却须要实现 TransactionCallBack接口.Tran ...
- Angular2入门系列教程7-HTTP(一)-使用Angular2自带的http进行网络请求
上一篇:Angular2入门系列教程6-路由(二)-使用多层级路由并在在路由中传递复杂参数 感觉这篇不是很好写,因为涉及到网络请求,如果采用真实的网络请求,这个例子大家拿到手估计还要自己写一个web ...
- C#微信公众号开发系列教程二(新手接入指南)
http://www.cnblogs.com/zskbll/p/4093954.html 此系列前面已经更新了两篇博文了,都是微信开发的前期准备工作,现在切入正题,本篇讲解新手接入的步骤与方法,大神可 ...
- 【ASP.NET Identity系列教程(一)】ASP.NET Identity入门
注:本文是[ASP.NET Identity系列教程]的第一篇.本系列教程详细.完整.深入地介绍了微软的ASP.NET Identity技术,描述了如何运用ASP.NET Identity实现应用程序 ...
- 【ASP.NET Identity系列教程(二)】运用ASP.NET Identity
注:本文是[ASP.NET Identity系列教程]的第二篇.本系列教程详细.完整.深入地介绍了微软的ASP.NET Identity技术,描述了如何运用ASP.NET Identity实现应用程序 ...
- 【ASP.NET Identity系列教程(三)】Identity高级技术
注:本文是[ASP.NET Identity系列教程]的第三篇.本系列教程详细.完整.深入地介绍了微软的ASP.NET Identity技术,描述了如何运用ASP.NET Identity实现应用程序 ...
- 随笔分类 - 无废话ExtJs系列教程
随笔分类 - 无废话ExtJs系列教程 摘自:http://www.cnblogs.com/iamlilinfeng/category/385121.html ExtJs 入门教程 摘要: extjs ...
随机推荐
- Dual-polarity supply provides ±12V from one IC
LT1961 升压型稳压器造就了兼具升压和降压能力的扁平状SEPIC Transformerless dc/dc converter produces bipolar outputs Well-reg ...
- HDU 2896 病毒侵袭 【AC自动机】
HDU 2222 仅仅求出了和文本串匹配的模式串个数,本题要求求出匹配的模式串的编号. 不同的部分在代码中的注释部分. #include <cstdio> #include <cst ...
- uva 784 Maze Exploration(简单dfs)
这道题看上去非常麻烦,什么迷宫啊.门之类的,事实上挺简单的,就是让把与 * 连通的都置为 # 包含 * , 直接dfs就能够了,只是我wa了好多次...最后居然是多读了一个换行.忘了加getchar( ...
- 仿LOL项目开发第五天
仿LOL项目开发第五天 by草帽 今天呢,我们看下能开发什么内容,首先上节我们已经讲了UI框架的搭建,上节还遗留下很多问题,比如说消息的字符是代码里面自己赋值的. 那么就比较死板,按照正常的逻辑,那些 ...
- MySQL create table as与create table like对比
a.create table like方式会完整地克隆表结构,但不会插入数据,需要单独使用insert into或load data方式加载数据b.create table as 方式会部分克隆表结 ...
- ICLR 2013 International Conference on Learning Representations深度学习论文papers
ICLR 2013 International Conference on Learning Representations May 02 - 04, 2013, Scottsdale, Arizon ...
- 2016/4/14腾讯Android实习面试
腾讯实习面试,面试官会先问你会什么,擅长什么.然后会依照这个问,问的也不是非常偏,问道你不会的就换下一个知识点. 主要问我的有这几个问题 图形学 1.Bizer曲线怎么绘制的.原理是什么 2.对栅格有 ...
- iOS: FFmpeg的使用二
1.下载并编译FFMPEG. https://github.com/kewlbear/FFmpeg-iOS-build-script 下载后有一个build-ffmpeg.sh文件.终端执行即可自动下 ...
- OpenCV学习(11) 图像的腐蚀与膨胀(2)
先对一副灰度图像进行腐蚀操作,然后在腐蚀后的图像上再进行膨胀操作,我们定义这个操作为开操作. 先对一副图像进行膨胀操作,然后在膨胀后的图像上再进行腐蚀操作,我们定义这个操作为闭操作. 开操 ...
- split-array-largest-sum(参考了discuss)
注意,第一种用法,涉及到一些Java的知识.就是采用Object作为HashMap的key的时候,需要重载这个Class的 equals 和 hashCode 这两个方法.其中equals需要判断一下 ...