文档章节

GuozhongCrawler系列教程 (4) StartContext详解

郭钟
 郭钟
发布于 2015/06/08 19:18
字数 940
阅读 36
收藏 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
C语言自学完备手册(26)——字符串(3)

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

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

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

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

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

谷哥的小弟
10/15
0
0
C语言自学完备手册(30)——指针(4)

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

谷哥的小弟
10/24
0
0

没有更多内容

加载失败,请刷新页面

加载更多

CentOS 安装PHP5和PHP7

安装PHP5 下载解压二进制包 [root@test-a src]# cd /usr/local/src/[root@test-a src]# wget http://cn2.php.net/distributions/php-5.6.32.tar.bz2[root@test-a src]# tar jxvf php-5.6......

野雪球
48分钟前
3
0
windows上类似dnsmasq的软件Dual DHCP DNS Server

官网地址:http://dhcp-dns-server.sourceforge.net/官网定向的下载地址:https://sourceforge.net/projects/dhcp-dns-server/files/ 设置参考地址:http://blog.51cto.com/zhukeqiang/18264......

xueyuse0012
今天
3
0
LinkedHashMap源码解析

前言 HashMap中的元素时无序的,也就是说遍历HashMap的时候,顺序和放入的顺序是不一样的。 如果需要有序的Map,就可以采用LinkedHashMap. LinkedHashMap通过维护一个包含所有元素的双向链表,...

grace_233
今天
3
0
初识flask

文档 0.10.1版本 http://www.pythondoc.com/flask/index.html 1.0.2版本 https://dormousehole.readthedocs.io/en/latest/ 安装flask $ pip3 install flaskCollecting flask Downloading......

yimingkeji
昨天
5
0
Akka系统《sixteen》译

Actor是一个封装状态(state)和行为(behavior)的对象,它们只通过交换消息通信(放入收件人邮箱的邮件)。从某种意义上说,Actor是最严格的面向对象编程形式,但它更适合将他们视为人:在与Act...

woshixin
昨天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部