`
xtuhcy
  • 浏览: 138653 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论
文章列表
一、从浏览器说起 无头浏览器即headless browser,是一种没有界面的浏览器。既然是浏览器那么浏览器该有的东西它都应该有,只是看不到界面而已。 浏览器内核 Webkit:目前最主流的浏览器内核,webkit是苹果公司开源的浏览器内核,其前身是KHTML。基于Webkit的浏览器很多,比如Safari,Chrome,Opera Gecko:是Firefox浏览器的内核 Trident:是IE浏览器的内核 Blink:是webkit的一个分支版本,由google开发 Webkit内核 Webkit无疑是目前最流行的浏览器内核,以We ...
关于gecco爬虫框架 如果对gecco还没有了解可以参看一下gecco的github首页。gecco爬虫十分的简单易用。之前有一篇文章《教您使用java爬虫gecco抓取JD商品信息》,使用的是传统的注解方式,建议看这篇文章前先了解之前的文章。这里介绍一下DynamicGecco方式,比之前更简单,抓取全部京东商品只要3个类就能搞定了。 什么是DynamicGecco DynamicGecco的目的是在不定义SpiderBean的情况下实现爬取规则的运行时配置。其实现原理是采用字节码编程,动态生成SpiderBean,而且通过自定义的GeccoClassLoader实现了抓取规则的热部 ...
从双亲委派说起 启动(Bootstrap)类加载器:是用本地代码实现的类装入器,它负责将 <Java_Runtime_Home>/lib下面的类库加载到内存中(比如rt.jar)。由于引导类加载器涉及到虚拟机本地实现细节,开发者无法直接获取到启动类加载器的引用,所以不允许直接通过引用进行操作。 标准扩展(Extension)类加载器:是由 Sun 的 ExtClassLoader(sun.misc.Launcher$ExtClassLoader)实现的。它负责将< Java_Runtime_Home >/lib/ext或者由系统变量 java.ext.dir指 ...
简述 爬虫在抓取一个页面后一般有两个任务,一个是解析页面内容,一个是将需要继续抓取的url放入队列继续抓取。因此,当爬取的网页很多的情况下,待抓取url的管理也是爬虫框架需要解决的问题。本文主要说的是gecco爬虫框架的队列和线程模型。 线程和队列模型
Gecco开源爬虫框架是2015年12月31日发布的,发布以来在易用性、可扩展性上得到了大家的肯定。目前在github上已经有230+的star,100+的fork。那么,Gecco这个新的爬虫框架在实际应用中的表现如何呢?为了让用户放心使用Gecco框架,Gecco团队发布了一款使用Gecco爬虫框架开发的APP——闲逛。这款应用更多的是用来验证Gecco框架的易用性、稳定性、可扩展性。任何脱离实际应用的框架都是耍流氓。 闲逛应用抓取了京东、苏宁易购、天猫、什么值得买等10多个主流电商和导购平台,经过数据清洗和聚合实现了如下功能: 【历史新低】实时获取电商价格动态,历史新低谁买谁赚 ...
大话Android的消息机制(Handler、Looper、Message...) Android的开发很重要的一点就是理解它的消息机制,Android的消息机制涉及到概念不少,HandlerThread、Handler、Looper、MessageQueue、Message、MessagePool,初学者往往看到这里就傻眼了,这么多概念。本文试着以一个比较容易理解的方式让大家明白Android的消息机制。读者必须有一些java线程的概念,这个是最基本的要求。 为什么要用消息机制 我们可以把线程理解为一个接收指令能自己干活的“机器人”。Android中有个很重要的线程,它负责和使用者交互 ...
java爬虫gecco支持htmlunit java爬虫gecco发布了1.0.5版本,增加了对htmlunit的支持。htmlunit是一款开源的java 页面分析工具,读取页面后,可以有效的使用htmlunit分析页面上的内容。项目可以模拟浏览器运行,被誉为java浏览器的开源实现。这个没有界面的浏览器,运行速度也是非常迅速的。htmlunit采用的是rhino作为javascript的解析引擎。 使用方法 下载 <dependency>
教您使用java爬虫gecco抓取JD全部商品信息(二) 详情页抓取 商品的基本信息抓取完成后,就要针对每个商品的详情页进行抓取,可以看到详情页的地址格式一般如下:http://item.jd.com/1861098.html。我们建立商品详情页的Bean: @Gecco(matchUrl="http://item.jd.com/{code}.html", pipelines="consolePipeline") public class
教您使用java爬虫gecco抓取JD全部商品信息(一) 抓取商品列表信息 AllSortPipeline已经将需要进一步抓取的商品列表信息的链接提取出来了,可以看到链接的格式是:http://list.jd.com/list.html?cat=9987,653,659&delivery=1&JL=4_10_0&go=0。因此我们建立商品列表的Bean——ProductList,代码如下: @Gecco(matchUrl="http://list.jd.com/list.html?cat={cat}&delivery={delivery}&am ...
教您使用java爬虫gecco抓取JD全部商品信息(一) gecco爬虫 如果对gecco还没有了解可以参看一下gecco的github首页。gecco爬虫十分的简单易用,JD全部商品信息的抓取9个类就能搞定。 JD网站的分析 要抓取JD网站的全部商品信息,我们要先分析一下网站,京东网站可以大体分为三级,首页上通过分类跳转到商品列表页,商品列表页对每个商品有详情页。那么我们通过找到所有分类就能逐个分类抓取商品信息。 入口地址
  GECCO(易用的轻量化的网络爬虫) 初衷 现在开发应用已经离不开爬虫,网络信息浩如烟海,对互联网的信息加以利用是如今所有应用程序都必须要掌握的技术。了解过现在的一些爬虫软件,python语言编写的爬虫框架scrapy得到了较为广泛的应用。gecco的设计和架构受到了scrapy一些启发,结合java语言的特点,形成了如下软件框架。易用是gecco框架首要目标,只要有一些java开发基础,会写jquery的选择器,就能轻松配置爬虫。 结构图
JAVA开源软件开发必备技能 发布构建到maven中央仓库的方法和详细步骤 sonatype介绍 向sonatype提交申请 配置maven GPG签名 发布版本 通知sonatype
基于netty实现的socks5代理协议 socks5协议 简介 socks5协议是一个标准的代理协议,工作在网络的四层,理论上可以代理任意应用层协议。协议标准RFC1928,用户/密码鉴权标准RFC1929。协议的中文版本可以参考这里 现有开源实现 用的比较多的是linux下的ss5开源实现,ss5的安装和配置如下: ./configure --with-debug --with-epollio --with-gssapi make make install chomd +x /etc/init.d/ss5 修改/etc/init.d/ss5,增加端口,日志等配置: ...
Gecco爬虫框架中的SpiderBean Gecco是一个快速爬虫开发框架,能让开发人员快速的将爬取下来的页面转换为一个简单的java bean。所有的java bean都需要继承同一个接口SpiderBean。根据返回数据格式的不同可以将SpiderBean分成两个子接口——HtmlBean和JsonBean。SpiderBean的定义通常如下: @Gecco(matchUrl="...") public class TestHtmlBean implements HtmlBean { @HtmlField(cssPath=".title& ...
Gecco 1.1.2 发布了。该版本主要做了如下修改:     1.@Gecco不填写matchUrl时,支持匹配所有格式url的通用抓取     2.默认使用UniqueSpiderScheduler队列管理避免重复HttpRequest的抓取     3.修改table tr列表不能解析的问题       4.增加@ ...
Global site tag (gtag.js) - Google Analytics