自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(81)
  • 资源 (2)
  • 收藏
  • 关注

原创 基于netty实现的socks5代理协议

基于netty实现的socks5代理协议socks5协议简介socks5协议是一个标准的代理协议,工作在网络的四层,理论上可以代理任意应用层协议。协议标准RFC1928,用户/密码鉴权标准RFC1929。协议的中文版本可以参考这里现有开源实现用的比较多的是linux下的ss5开源实现,ss5的安装和配置如下:./configure --with-debug --with-epollio --with

2016-12-28 17:34:25 1518 1

基于netty实现的socks5代理协议

基于netty实现的socks5代理协议socks5协议简介socks5协议是一个标准的代理协议,工作在网络的四层,理论上可以代理任意应用层协议。协议标准RFC1928,用户/密码鉴权标准RFC1929。协议的中文版本可以参考这里现有开源实现用的比较多的是linux下的ss5开源实现,ss5的安装和配置如下:./configure --with-debug --with-...

2016-12-28 17:25:02 1349 1

无头浏览器,从phantomjs到webkit4j

一、从浏览器说起无头浏览器即headless browser,是一种没有界面的浏览器。既然是浏览器那么浏览器该有的东西它都应该有,只是看不到界面而已。浏览器内核Webkit:目前最主流的浏览器内核,webkit是苹果公司开源的浏览器内核,其前身是KHTML。基于Webkit的浏览器很多,比如Safari,Chrome,OperaGecko:是Firefox浏览器的...

2016-10-14 11:09:52 337

原创 无头浏览器,从phantomjs到webkit4j

一、从浏览器说起无头浏览器即headless browser,是一种没有界面的浏览器。既然是浏览器那么浏览器该有的东西它都应该有,只是看不到界面而已。浏览器内核Webkit:目前最主流的浏览器内核,webkit是苹果公司开源的浏览器内核,其前身是KHTML。基于Webkit的浏览器很多,比如Safari,Chrome,OperaGecko:是Firefox浏览器的内核Trident:是IE浏览

2016-10-14 11:06:45 11703

教您使用DynamicGecco抓取JD全部商品信息

关于gecco爬虫框架如果对gecco还没有了解可以参看一下gecco的github首页。gecco爬虫十分的简单易用。之前有一篇文章《教您使用java爬虫gecco抓取JD商品信息》,使用的是传统的注解方式,建议看这篇文章前先了解之前的文章。这里介绍一下DynamicGecco方式,比之前更简单,抓取全部京东商品只要3个类就能搞定了。什么是DynamicGeccoDynamicGe...

2016-07-18 11:23:43 473

原创 DynamicGecco实现爬取规则的动态加载

Gecco爬虫框架中的SpiderBeanGecco是一个快速爬虫开发框架,能让开发人员快速的将爬取下来的页面转换为一个简单的java bean。所有的java bean都需要继承同一个接口SpiderBean。根据返回数据格式的不同可以将SpiderBean分成两个子接口——HtmlBean和JsonBean。SpiderBean的定义通常如下:@Gecco(matchUrl="...")pub

2016-07-14 14:31:43 1990 2

DynamicGecco实现爬取规则的动态加载

Gecco爬虫框架中的SpiderBeanGecco是一个快速爬虫开发框架,能让开发人员快速的将爬取下来的页面转换为一个简单的java bean。所有的java bean都需要继承同一个接口SpiderBean。根据返回数据格式的不同可以将SpiderBean分成两个子接口——HtmlBean和JsonBean。SpiderBean的定义通常如下:@Gecco(matchUrl="......

2016-07-05 11:48:59 267

JAVA类加载机制以及如何自定义类加载器

从双亲委派说起启动(Bootstrap)类加载器:是用本地代码实现的类装入器,它负责将 <Java_Runtime_Home>/lib下面的类库加载到内存中(比如rt.jar)。由于引导类加载器涉及到虚拟机本地实现细节,开发者无法直接获取到启动类加载器的引用,所以不允许直接通过引用进行操作。标准扩展(Extension)类加载器:是由 Sun 的 ExtClassLoa...

2016-06-16 09:35:20 240

原创 JAVA类加载机制以及如何自定义类加载器

从双亲委派说起启动(Bootstrap)类加载器:是用本地代码实现的类装入器,它负责将 /lib下面的类库加载到内存中(比如rt.jar)。由于引导类加载器涉及到虚拟机本地实现细节,开发者无法直接获取到启动类加载器的引用,所以不允许直接通过引用进行操作。标准扩展(Extension)类加载器:是由 Sun 的 ExtClassLoader(sun.misc.Launcher$ExtClassLo

2016-06-16 09:31:24 578

原创 Gecco爬虫框架的线程和队列模型

简述爬虫在抓取一个页面后一般有两个任务,一个是解析页面内容,一个是将需要继续抓取的url放入队列继续抓取。因此,当爬取的网页很多的情况下,待抓取url的管理也是爬虫框架需要解决的问题。本文主要说的是gecco爬虫框架的队列和线程模型。线程和队列模型gecco的队列模型是两级队列模型。分为初始请求队列和派生请求队列。初始请求队列在循环模式下是一个阻塞式的FIFO队列,在非循环模式下是一个非阻塞式的F

2016-06-08 10:32:49 1693

Gecco爬虫框架的线程和队列模型

简述爬虫在抓取一个页面后一般有两个任务,一个是解析页面内容,一个是将需要继续抓取的url放入队列继续抓取。因此,当爬取的网页很多的情况下,待抓取url的管理也是爬虫框架需要解决的问题。本文主要说的是gecco爬虫框架的队列和线程模型。线程和队列模型gecco的队列模型是两级队列模型。分为初始请求队列和派生请求队列。初始请求队列在循环模式下是一个阻塞式的FIFO队列,在非循环模式...

2016-06-08 10:29:58 208

原创 Gecco框架典型案例—闲逛APP

Gecco开源爬虫框架是2015年12月31日发布的,发布以来在易用性、可扩展性上得到了大家的肯定。目前在github上已经有230+的star,100+的fork。那么,Gecco这个新的爬虫框架在实际应用中的表现如何呢?为了让用户放心使用Gecco框架,Gecco团队发布了一款使用Gecco爬虫框架开发的APP——闲逛。这款应用更多的是用来验证Gecco框架的易用性、稳定性、可扩展性。任何脱离实

2016-05-31 10:55:04 730

Gecco框架典型案例—闲逛APP

Gecco开源爬虫框架是2015年12月31日发布的,发布以来在易用性、可扩展性上得到了大家的肯定。目前在github上已经有230+的star,100+的fork。那么,Gecco这个新的爬虫框架在实际应用中的表现如何呢?为了让用户放心使用Gecco框架,Gecco团队发布了一款使用Gecco爬虫框架开发的APP——闲逛。这款应用更多的是用来验证Gecco框架的易用性、稳定性、可扩展性。任何脱...

2016-05-31 10:01:35 242

Gecco 1.1.2 发布,易用的轻量化爬虫

Gecco 1.1.2 发布了。该版本主要做了如下修改:    1.@Gecco不填写matchUrl时,支持匹配所有格式url的通用抓取    2.默认使用UniqueSpiderScheduler队列管理避免重复HttpRequest的抓取    3.修改table tr列表不能解析的问题     4.增加@Ajax请求支持Html格式内容解析     5.更新f...

2016-05-16 10:08:50 154

原创 大话Android的消息机制(Handler、Looper、Message...)

大话Android的消息机制(Handler、Looper、Message…)Android的开发很重要的一点就是理解它的消息机制,Android的消息机制涉及到概念不少,HandlerThread、Handler、Looper、MessageQueue、Message、MessagePool,初学者往往看到这里就傻眼了,这么多概念。本文试着以一个比较容易理解的方式让大家明白Android的消息机制

2016-04-27 13:43:33 357

大话Android的消息机制(Handler、Looper、Message...)

大话Android的消息机制(Handler、Looper、Message...)Android的开发很重要的一点就是理解它的消息机制,Android的消息机制涉及到概念不少,HandlerThread、Handler、Looper、MessageQueue、Message、MessagePool,初学者往往看到这里就傻眼了,这么多概念。本文试着以一个比较容易理解的方式让大家明白Androi...

2016-04-27 13:37:25 97

原创 gecco 1.1.0稳定版发布,易用的轻量化爬虫

gecco 1.1.0稳定版发布了。 1.1.0版本主要做了如下修改: 1.优化代理设置,运行时计算代理下载成功率,自动发现无效代理,支持运行时添加代理 2.HttpClientDownloader支持类似12306网站非信任ssl证书 3.JsonBean支持嵌套解析 4.修复部分网站302无法跳转的bug 5.优化debug日志输出gecco是一款易用的轻量化网络爬虫。十分的容易上手

2016-04-26 10:26:03 441

gecco 1.1.0稳定版发布,易用的轻量化爬虫

gecco 1.1.0稳定版发布了。1.1.0版本主要做了如下修改:1.优化代理设置,运行时计算代理下载成功率,自动发现无效代理,支持运行时添加代理2.HttpClientDownloader支持类似12306网站非信任ssl证书3.JsonBean支持嵌套解析4.修复部分网站302无法跳转的bug5.优化debug日志输出 gecco是一款易用的轻量化网络爬虫。十分的容易上手。...

2016-04-26 10:02:57 134

原创 gecco 1.0.9 发布,易用的轻量化爬虫

gecco 1.0.9 发布了。1.0.9版本主要做了如下修改:1、@Image注解增加图片自动下载到本地的方法@Image(download=”d:/gecco/jd/img”) 2、GeccoEngine改为线程方式,通过start()支持非阻塞方式运行 3、支持debug模式,GeccoEngine.debug(true) 4、简化spring项目启动Gecco的方式,详细请查看(域名备

2016-04-13 10:43:45 447

gecco 1.0.9 发布,易用的轻量化爬虫

gecco 1.0.9 发布了。1.0.9版本主要做了如下修改:1、@Image注解增加图片自动下载到本地的方法@Image(download="d:/gecco/jd/img")2、GeccoEngine改为线程方式,通过start()支持非阻塞方式运行3、支持debug模式,GeccoEngine.debug(true)4、简化spring项目启动Gecco的方式,详细请查看:ht...

2016-04-13 10:40:04 184

java开源爬虫gecco 发布1.0.8版本

gecco 1.0.8 发布了。1.0.8版本主要做了如下修改:GeccoEngine增加loop方法,支持不循环抓取。gecco默认将改为采用不循环抓取2.支持移动端的UserAgent,通过GeccoEngine.mobile(true)设置3.支持配置初始化地址,自动扫描classpath根目录下的starts.json文件4.HttpResponse增加释放raw的方法5....

2016-03-30 12:56:18 156

java爬虫gecco的稳定性测试

java爬虫gecco的稳定性测试最近对开源的java爬虫Gecco做了一个稳定性测试,测试环境:一台爬虫+web应用服务器,一台mongodb服务器。服务器配置很low,两台都是阿里云最低端的主机,1核+512内存。单线程测试场景爬虫采用单线程,测试时间3×24小时,测试期间系统无异常,jvm内存稳定。测试结果:基本信息 Interval: 5000, Sta...

2016-03-28 11:43:23 307

原创 java爬虫gecco监控来了,不再裸奔

java爬虫gecco监控来了,不再裸奔爬虫为什么要监控gecco是一个十分简单易用的java开源爬虫框架,同时也一个款拥有很好扩展性的框架,目前已经有:结合spring的插件gecco-spring结合htmlunit的插件gecco-htmlunit结合reids的插件gecco-reids在开发爬虫时,由于要对很多网站和链接进行抓取,并对抓取下来的网站进行内容的抽取。大量的链接下载和内容抽取如

2016-03-21 13:40:23 2157

java爬虫gecco监控来了,不再裸奔

java爬虫gecco监控来了,不再裸奔爬虫为什么要监控gecco是一个十分简单易用的java开源爬虫框架,同时也一个款拥有很好扩展性的框架,目前已经有:结合spring的插件gecco-spring结合htmlunit的插件gecco-htmlunit结合redis的插件gecco-redis在开发爬虫时,由于要对很多网站和链接进行抓取,并对抓取下来的网站进行内容的抽...

2016-03-21 10:52:35 539

原创 加密技术入门——从对称加密到CA证书

加密技术入门——从对称加密到CA证书几个基本概念 对称加密对称加密是最传统的加密方式,简单说就是用一个密钥对原文加密,再用同样密钥对原文解密。对称加密的优点就是加密速度快,但是缺点也很明显,密钥的传递无法保障。常见的对称加密算法有DES、3DES、AES等 非对称加密为了解决密钥传递的问题,聪明的人类罗纳德·李维斯特(Ron Rivest)、阿迪·萨莫尔(Adi Shamir)和伦纳德·

2016-03-18 14:10:13 398

原创 教您使用java爬虫gecco抓取JD全部商品信息

教您使用java爬虫gecco抓取JD全部商品信息gecco爬虫如果对gecco还没有了解可以参看一下gecco的github首页。gecco爬虫十分的简单易用,JD全部商品信息的抓取9个类就能搞定。JD网站的分析要抓取JD网站的全部商品信息,我们要先分析一下网站,京东网站可以大体分为三级,首页上通过分类跳转到商品列表页,商品列表页对每个商品有详情页。那么我们通过找到所有分类就能逐个分类抓取商品信息

2016-03-18 14:06:33 2049 2

java开源爬虫gecco发布版本1.0.6,更灵活的配置downloader

1.0.6Release1、修改request的原始流raw被关闭的bug2、将downloader关联到gecco上,@Gecco增加downloader和timeout选项 @Gecco(matchUrl="https://github.com/{user}/{project}", pipelines="consolePipeline", downloader="...

2016-03-15 18:11:03 205

加密技术入门——从对称加密到CA证书

加密技术入门——从对称加密到CA证书几个基本概念对称加密对称加密是最传统的加密方式,简单说就是用一个密钥对原文加密,再用同样密钥对原文解密。对称加密的优点就是加密速度快,但是缺点也很明显,密钥的传递无法保障。常见的对称加密算法有DES、3DES、AES等非对称加密为了解决密钥传递的问题,聪明的人类罗纳德·李维斯特(Ron Rivest)、阿迪·萨莫尔(Adi ...

2016-03-10 15:35:27 162

java爬虫gecco支持htmlunit

java爬虫gecco支持htmlunitjava爬虫gecco发布了1.0.5版本,增加了对htmlunit的支持。htmlunit是一款开源的java 页面分析工具,读取页面后,可以有效的使用htmlunit分析页面上的内容。项目可以模拟浏览器运行,被誉为java浏览器的开源实现。这个没有界面的浏览器,运行速度也是非常迅速的。htmlunit采用的是rhino作为javascript的...

2016-03-07 10:32:20 304

教您使用java爬虫gecco抓取JD全部商品信息(三)

教您使用java爬虫gecco抓取JD全部商品信息(二)详情页抓取商品的基本信息抓取完成后,就要针对每个商品的详情页进行抓取,可以看到详情页的地址格式一般如下:http://item.jd.com/1861098.html。我们建立商品详情页的Bean:@Gecco(matchUrl="http://item.jd.com/{code}.html", pipelines="conso...

2016-02-26 11:18:44 164

教您使用java爬虫gecco抓取JD全部商品信息(二)

教您使用java爬虫gecco抓取JD全部商品信息(一)抓取商品列表信息AllSortPipeline已经将需要进一步抓取的商品列表信息的链接提取出来了,可以看到链接的格式是:http://list.jd.com/list.html?cat=9987,653,659&delivery=1&JL=4_10_0&go=0。因此我们建立商品列表的Bean——Produ...

2016-02-25 10:56:47 220

教您使用java爬虫gecco抓取JD全部商品信息(一)

教您使用java爬虫gecco抓取JD全部商品信息(一)gecco爬虫如果对gecco还没有了解可以参看一下gecco的github首页。gecco爬虫十分的简单易用,JD全部商品信息的抓取9个类就能搞定。JD网站的分析要抓取JD网站的全部商品信息,我们要先分析一下网站,京东网站可以大体分为三级,首页上通过分类跳转到商品列表页,商品列表页对每个商品有详情页。那么我们通过找到所有分...

2016-02-24 16:44:58 226

原创 tomcat类加载顺序

tomcat类加载顺序:Bootstrap classes of your JVM:jdk相关类System class loader classes:tomcat相关类/WEB-INF/classes of your web application:应用程序classes下相关类/WEB-INF/lib/*.jar of your web application:应用程序...

2016-02-24 12:52:43 164

java开源爬虫gecco详细文档新鲜出炉

抽空进行了Gecco爬虫文档的撰写,目录如下: Gecco是什么1. 一分钟你就可以写一个简单爬虫2. 软件总体结构3. 从下载说起4. 抽取页面内容5. 业务逻辑处理 地址:https://xtuhcy.gitbooks.io/geccocrawler/content/index.html...

2016-02-19 18:10:01 449

使用Gecco主题爬虫爬取旅游折扣信息

        Gecco爬虫已经开发有一个多月了,爬虫的大部分功能已经实现,是需要检验一下爬虫的时候了。        之所以开发Gecco这样的一个爬虫,也是我之前开发了不少类似的应用有关,这些应用都需要爬取其他网站的信息,并且结构化后加以利用。        比如之前开发过一个比价网站,将京东、苏宁、新蛋、易迅等电商的商品信息抓下来进行站内和站外的比价,如今这样的应用已经十分普及...

2016-02-04 17:31:53 218

正则表达式的完全匹配和部分匹配

最近在开发gecco的开源爬虫时混淆了正则表达的部分匹配和完全匹配的概念,记录一下。java的正则表达式有个很容易混淆的概念,部分匹配和完全匹配:在Matcher类中有matches、lookingAt和find都是匹配目标的方法,但容易混淆,整理它们的区别如下:matches:整个匹配,只有整个字符序列完全匹配成功,才返回True,否则返回False。但如果前部分匹配成功,将移动...

2016-02-04 15:32:01 2179

Java主题爬虫Gecco发布1.0.4版本

https://github.com/xtuhcy/gecco主要特征1、简单易用,使用jquery的css selector风格抽取元素2、支持页面中的异步ajax请求3、支持页面中的javascript变量抽取4、利用Redis实现分布式抓取5、支持下载时UserAgent随机选取6、支持下载代理服务器随机选取7、支持结合Spring开发业务逻辑...

2016-02-03 10:34:35 107

原创 转载一篇单字符串匹配KMP算法最好理解的文章

字符串匹配的KMP算法http://www.ruanyifeng.com/blog/2013/05/Knuth%E2%80%93Morris%E2%80%93Pratt_algorithm.html  字符串匹配是计算机的基本任务之一。  举例来说,有一个字符串"BBC ABCDAB ABCDABCDABDE",我想知道,里面是否包含另一个字符串"ABCDABD"? ...

2016-01-11 21:47:10 88

一个易用的轻量级的网络爬虫(Easy to use lightweight web crawler)

 GECCO(易用的轻量化的网络爬虫)初衷现在开发应用已经离不开爬虫,网络信息浩如烟海,对互联网的信息加以利用是如今所有应用程序都必须要掌握的技术。了解过现在的一些爬虫软件,python语言编写的爬虫框架scrapy得到了较为广泛的应用。gecco的设计和架构受到了scrapy一些启发,结合java语言的特点,形成了如下软件框架。易用是gecco框架首要目标,只要有一些ja...

2015-12-30 22:08:12 237

JAVA开源软件开发必备技能-发布构建到maven中央仓库

JAVA开源软件开发必备技能发布构建到maven中央仓库的方法和详细步骤sonatype介绍向sonatype提交申请配置mavenGPG签名发布版本通知sonatypesonatype介绍Maven项目托管在Apache上的,但是中央仓库不是Apache的资源,中央仓库是由Sonatype出资维护的。目前来说,http://repo1.m...

2015-12-23 10:48:26 200

淘宝技术这十年

淘宝技术这十年,完整最终确认版.值得一看

2014-08-31

ejb in action

ejb in action 英文版 pdf

2010-03-19

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除