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 ...
随机推荐
- 支持Tasker控制的app合集
跟各种Tasker插件打交道,原因有两点: 1.站在开发者的角度:Tasker虽为神器,也不能面面俱到,一个原因就是Android自身过于分裂化造成的,不可能兼顾全平台和机型:个人开发者精力有限,也满 ...
- Boost Converter
Single Inductor Buck-Boost Converter in Tiny WCSP The TPS63036 is a non inverting buck-boost convert ...
- linux防火墙查看、开启、关闭
查看 vi /etc/sysconfig/iptables 开启 service iptables stop 关闭 service iptables restart
- Go -- 调用dll库
package main import ( "syscall" "unsafe" ) func main(){ h, err := syscall.LoadLi ...
- Android 交叉编译程序提示(not found)
原因是缺少库文件, 解决办法:arm-linux-readelf -a helloword | grep NEEDED 拷贝so文件到安卓下 或者 arm-linux-gcc hello.c -o h ...
- 如何把rc.local里执行的shell脚本的日志内容放到其他位置
rc.local的日志内容默认是/var/log/boot.log /etc/rc.d/rc.local文件的文件头是#!/bin/sh ,我们把这修改成#!/bin/sh -x,这样系统启动后就会把 ...
- mac的dns缓存查询和清除
1.清楚dns缓存 dscacheutil -flushcache 2.查询nslookup
- HDU 4901 The Romantic Hero 题解——S.B.S.
The Romantic Hero Time Limit: 6000/3000 MS (Java/Others) Memory Limit: 131072/131072 K (Java/Othe ...
- iOS: 向Github的README.md里添加图片
我们将项目上传到Github上开源供大家使用,可是,有时只是在READEME.md中做一些文字说明并不直观,如果能给上演示的截图是不是更能把功能展示的一目了然呢. 不费话了,直接上步骤: 第一步:首先 ...
- iOS:UIPageViewController翻页控制器控件详细介绍
翻页控制器控件:UIPageViewController 介绍: 1.它是为我们提供了一种类似翻书效果的一种控件.我们可以通过使用UIPageViewController控件,来完成类似图书一样的翻页 ...