文档章节

GuozhongCrawler系列教程 (4) StartContext详解

郭钟
 郭钟
发布于 2015/06/08 19:18
字数 940
阅读 37
收藏 0

  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是否为空。

  • 返回:


© 著作权归作者所有

共有 人打赏支持
郭钟
粉丝 17
博文 12
码字总数 7550
作品 1
北京
架构师
私信 提问
GuozhongCrawler实现一个完整爬虫

经过上一节开发环境搭建中的百度新闻的爬虫例子,相信大家已经对GuozhongCrawler简洁的API产生浓厚兴趣了。不过这个还不算一个入门例子。只是完成了简单的下载和解析。现在我们来完成一个比较...

郭钟
2015/04/18
0
3
GuozhongCrawler配置出错

@郭钟 你好,想跟你请教个问题: 按你的博客配置了一下项目,有个错误不明,麻烦你看一下

Syion
2015/07/01
131
2
C语言自学完备手册(26)——字符串(3)

版权声明: https://blog.csdn.net/lfdfhl/article/details/83089995 自定义View系列教程00–推翻自己和过往,重学自定义View 自定义View系列教程01–常用工具介绍 自定义View系列教程02–o...

谷哥的小弟
2018/10/16
0
0
C语言自学完备手册(20)——枚举

版权声明: https://blog.csdn.net/lfdfhl/article/details/82894146 自定义View系列教程00–推翻自己和过往,重学自定义View 自定义View系列教程01–常用工具介绍 自定义View系列教程02–o...

谷哥的小弟
2018/09/29
0
0
C语言自学完备手册(24)——字符串(1)

版权声明: https://blog.csdn.net/lfdfhl/article/details/83056581 自定义View系列教程00–推翻自己和过往,重学自定义View 自定义View系列教程01–常用工具介绍 自定义View系列教程02–o...

谷哥的小弟
2018/10/15
0
0

没有更多内容

加载失败,请刷新页面

加载更多

脚本配置java开发环境

@echo off&setlocal enabledelayedexpansion cls @echo "This script is used to registe envionment variables......" @echo. @echo. @echo. set var=%~dp0 set var=%var:~,-1% @echo "regi......

默克鱼
21分钟前
0
0
c++中友元函数理解与使用

在学习c++这一块,关于友元函数和友元类,感觉还是不好理解,但是井下心来,理解,需要把我一下几点。 首先讲友元函数。 (1)友元函数: 1)C++中引入友元函数,是为在该类中提供一个对外(除...

天王盖地虎626
今天
2
0
OSChina 周一乱弹 —— 白掌柜说了卖货不卖身

Osc乱弹歌单(2019)请戳(这里) 【今日歌曲】 @爱漫爱 :这是一场修行分享羽肿的单曲《Moony》 手机党少年们想听歌,请使劲儿戳(这里) @clouddyy :开不开心? 开心呀, 我又不爱睡懒觉…...

小小编辑
今天
613
10
大数据教程(11.7)hadoop2.9.1平台上仓库工具hive1.2.2搭建

上一篇文章介绍了hive2.3.4的搭建,然而这个版本已经不能稳定的支持mapreduce程序。本篇博主将分享hive1.2.2工具搭建全过程。先说明:本节就直接在上一节的hadoop环境中搭建了! 一、下载apa...

em_aaron
今天
5
0
开始看《JSP&Servlet学习笔记》

1:WEB应用简介。其中1.2.1对Web容器的工作流程写得不错 2:编写Servlet。搞清楚了Java的Web目录结构,以及Web.xml的一些配置作用。特别是讲了@WebServlet标签 3:请求与响应。更细致的讲了从...

max佩恩
今天
7
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部