首页 > 代码库 > GuozhongCrawler系列教程 (4) StartContext具体解释
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是否为空。
- 返回:
GuozhongCrawler系列教程 (4) StartContext具体解释
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。