文档章节

GuozhongCrawler系列教程 (5) TransactionRequest详解

郭钟
 郭钟
发布于 2015/06/09 11:56
字数 556
阅读 54
收藏 0

      为了实现和维护并发抓取的属性信息提供线程安全的事务请求。TransactionRequest是一个抽象类自己不能设置Processor,却需要实现 TransactionCallBack接口。TransactionRequest是个复合的BasicRequest。他可以将多个PageRequest、BinaryRequest甚至TransactionRequest 自己的对象添加到child集合中,在下载过程中首先下载TransactionRequest中的所有childRequest,每个childRequest下载完成后使用notify方式逐步向上通知, 直到所有的child下载完成TransactionRequest回调 TransactionCallBack的callBack方法通知业务层这个TransactionRequest下载完成。


方法详细资料

  • getPipeline

    public Pipeline getPipeline()

  • setPipeline

    public void setPipeline(Pipeline pipeline)

  • addAttribute

    public BasicRequest addAttribute(java.lang.String attribute,
                            java.lang.Object value)

    从类复制的说明: BasicRequest

    设置属性

  • getAttribute

    public java.lang.Object getAttribute(java.lang.String attribute)

    从类复制的说明: BasicRequest

    取得属性

  • addChildRequest

    public void addChildRequest(BasicRequest request)

    添加一个BasicRequest到TransactionRequest的child中

    • 参数:

    • request -

  • iteratorChildRequests

    public java.util.Iterator<BasicRequest> iteratorChildRequests()

    返回这个TransactionRequest所有child的迭代器

    • 返回:


  • notify

    public void notify(int hashcode)

    从类复制的说明: BasicRequest

    当子url或者当前url完成的时候回调

  • checkComplete

    public void checkComplete()

    检查是否所有的Request标记都不是false。如果是那么所有的Request已经请求完成和处理。


© 著作权归作者所有

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

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

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

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

Syion
2015/07/01
131
2
C语言自学完备手册(28)——指针(2)

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

谷哥的小弟
2018/10/17
0
0
C语言自学完备手册(26)——字符串(3)

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

谷哥的小弟
2018/10/16
0
0
MongoDB 常用命令总结

MongoDB 常用命令总结 简单的的增删改查数据 在查询结果中指定显示或者不显示某个字段 例如,我们希望在 lessons 集合中查找所有数据,但是不希望在返回结果中包含 slides 字段;因为 slides...

开元中国2015
2015/06/30
191
0

没有更多内容

加载失败,请刷新页面

加载更多

uml类图

平时阅读一些远吗分析类文章或是设计应用架构时没少与UML类图打交道。实际上,UML类图中最常用到的元素五分钟就能掌握,下面赶紧来一起认识一下它吧: 一、类的属性的表示方式 在UML类图中,...

asdf08442a
11分钟前
1
0
Linux下执行脚本报错提示invalid option 3: set: -

1、在环境下执行sh报错invalid option 3: set: - 2、于是换成chmod 777 install.sh改执行权限,并且默认使用#!/bin/bash bash: ./install.sh: /bin/bash^M: bad interpreter: No such file ......

noob_chr
12分钟前
2
0
phpstrom2018激活与汉化

phpstrom2018激活与汉化 方法一. 直接用浏览器打开 http://idea.lanyus.com/ (推荐) 点击页面中的“获得注册码”,然后在注册时切换至Activation Code选项,输入获得的注册码一长串字符串,...

万建宁
14分钟前
1
0
Kali Linux NetHunter教程Kali NetHunter支持的设备和ROMs

Kali Linux NetHunter教程Kali NetHunter支持的设备和ROMs NetHunter是一个基于Kali Linux为Nexus设备构建的Android渗透测试平台,其中包括一些特殊和独特的功能。NetHunter支持无线802.11注...

大学霸
23分钟前
2
0
端口可用性探测

在服务器上打开了一个端口,我们需要测试是否开启成功是否可用,可以在本机使用 traceroute (linux)工具 traceroute 是几乎所有 Linux 发行版本预装的网络测试工具,用于跟踪 Internet 协议(...

applepaihs
23分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部