当前位置: 首页 > 软件库 > 应用工具 > 网络爬虫 >

GECCO

易用的轻量化的网络爬虫
授权协议 MIT
开发语言 Java
所属分类 应用工具、 网络爬虫
软件类型 开源软件
地区 国产
投 递 者 太叔飞翰
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

Gecco是什么

Gecco是一款用java语言开发的轻量化的易用的网络爬虫。Gecco整合了jsoup、httpclient、fastjson、spring、htmlunit、redission等优秀框架,让您只需要配置一些jquery风格的选择器就能很快的写出一个爬虫。Gecco框架有优秀的可扩展性,框架基于开闭原则进行设计,对修改关闭、对扩展开放。同时Gecco基于十分开放的MIT开源协议,无论你是使用者还是希望共同完善Gecco的开发者,欢迎pull request。如果你喜欢这款爬虫框架请star 或者 fork!

参考手册

主要特征

  •  简单易用,使用jquery风格的选择器抽取元素

  •  支持页面中的异步ajax请求

  •  支持页面中的javascript变量抽取

  •  利用Redis实现分布式抓取,参考gecco-redis

  •  支持结合Spring开发业务逻辑,参考gecco-spring

  •  支持htmlunit扩展,参考gecco-htmlunit

  •  支持插件扩展机制

  •  支持下载时UserAgent随机选取

  •  支持下载代理服务器随机选取

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

  • 2021SC@SDUSC 本篇文章我会相对Gecco进行一下大体的框架概述 GeccoEngine GeccoEngine 是爬虫引擎,每个爬虫引擎最好是一个独立进程,在分布式爬虫场景下,建议每台爬虫服务器(物理机或者虚机)运行一个 GeccoEngine。爬虫引擎包括 Scheduler、Downloader、Spider、SpiderBeanFactory、PipelineFactory5 个

  • 2021SC@SDUSC 简单说明一下Gecco中的公共注解说明 定义一个SpiderBean必须有的注解,告诉爬虫引擎什么样的url转换成该java bean,使用什么渲染器渲染,java bean渲染完成后传递给哪些管道过滤器继续处理 matchUrl:摒弃正则表达式的匹配方式,采用更容易理解的{value}方式,如:https://github.com/{user}/{project}。us

  • 2021SC@SDUSC 接上篇 先定位解析出所有的href超链接,即每个列表项对应的文章详情地址,然后解析文章详情的所有文本信息 Category类如下 package com.crawler.gecco; import com.geccocrawler.gecco.annotation.HtmlField; import com.geccocrawler.gecco.annotation.T

  • 2021SC@SDUSC 下面通过实例,边实战边说明Gecco的用法。 Gecco爬取分类数据 爬取思路 首先明确爬取的种子网站:http://news.iresearch.cn/ 编写爬虫启动入口 我新建的是maven项目,所以要使用Gecco,第一步是添加maven依赖 <dependency> <groupId>com.geccocrawler</groupId> <arti

  • 2021SC@SDUSC 最近在分析Gecco的源代码,所以就想着测试一下java爬虫gecco的稳定性 测试结果: 基本信息 Interval: 5000, StartTime: "2016-03-22 14:47:40", ThreadCount: 1, StarUrlCount: 8 单线程,共有8个初始抓取链接,每个请求抓取完成后休息5秒。 爬虫监控数据​​​​​​ taocan.ctri

  • 2021SC@SDUSC 简述一下Gecco爬虫框架线程和队列模型 gecco的队列模型是两级队列模型。分为初始请求队列和派生请求队列。初始请求队列在循环模式下是一个阻塞式的FIFO队列,在非循环模式下是一个非阻塞式的FIFO队列。派生队列是一个非阻塞的剔重的FIFO队列; 线程首先去初始请求队列按照FIFO原则获取一个请求,如果线程数量大于初始请求队列的数量,多余的线程就会待定新的初始请求入队,

  • (1)GeccoEngine->run() 1.默认采用proxys文件代理集合 2.scheduler的设置,在循环状态下scheduler = new StartScheduler() 否则 scheduler = new NoLoopStartScheduler(); 3若spiderBeanFactory为空,则进行初始化 4.设置cdl的值,数目为线程数目 5.将starts.json文

  • 2021SC@SDUSC Gecco是一款用java语言开发的轻量化的易用的网络爬虫。作为国内大佬研发的java网络爬虫,Gecco整合了jsoup、httpclient、fastjson、spring、htmlunit、redission等优秀框架,我们使用者只需要配置一些jquery风格的选择器就能很快的写出一个爬虫。同时这个Gecco框架有优秀的可扩展性,框架基于开闭原则进行设计,对修改关闭

  • Gecco是一款用java语言开发的轻量化的易用的网络爬虫。 主要特征: 简单易用,使用jquery的selector风格抽取元素 支持页面中的异步ajax请求 支持页面中的javascript变量抽取 利用Redis实现分布式抓取,参考gecco-redis 支持下载时UserAgent随机选取 支持下载代理服务器随机选取 支持结合Spring开发业务逻辑,参考gecco-spring 支持ht

  • 一、java获取cookie 啥也不说,看代码(这是爬取的一个小说网站的个人书架) public Map<String, String> loginIn(String loginUrl) throws IOException { // 构造登陆参数 Map<String, String> data = new HashMap<String, String>

  • 说起网络爬虫大家首先都会想到python爬虫,但是用Java实现爬虫的也很多,也有很多爬虫框架,今天我想说说我使用什么做爬虫的。 其实我也是一个爬虫白痴,刚接触爬虫的时候都是用纯java去做,但是做到一半的时候发现要写的代码真多,所以就找Java爬虫框架,于是就碰到了GECCO,说起这个GECCO, 确实比较适合入门,下面就说说这个框架是如何使用的。 @Gecco(matchUrl="https:

  • gecco爬虫框架是几年前的一个框架了,但是现阶段用来爬一些普通网站使用起来还是很方便的。 pom引入: <dependency> <groupId>com.geccocrawler</groupId> <artifactId>gecco</artifactId> <version>1.3.21</version> </dependency> 代码可分为三部分: 一、启动代

  • 2021SC@SDUSC 用四篇文章简单使用一下Gecco爬虫 使用java爬虫gecco抓取JD全部商品信息 gecco爬虫十分的简单易用,JD全部商品信息的抓取9个类就能搞定。 要抓取JD网站的全部商品信息,首页上通过分类跳转到商品列表页,商品列表页对每个商品有详情页。那么我们通过找到所有分类就能逐个分类抓取商品信息。 ##入口地址 http://www.jd.com/allSort.aspx

  • 2021SC@SDUSC 接上篇 完成对AllSort的注入后,我们需要对AllSort进行业务处理,这里我们不做分类信息持久化等处理,只对分类链接进行提取,进一步抓取商品列表信息。看代码: @PipelineName("allSortPipeline") public class AllSortPipeline implements Pipeline<AllSort> { @Override

  • 2021SC@SDUSC 接上篇 public class ProductBrief implements HtmlBean { private static final long serialVersionUID = -377053120283382723L; @Attr("data-sku") @HtmlField(cssPath=".j-sku-item") private St

 相关资料
  • 本文向大家介绍从零学习node.js之简易的网络爬虫(四),包括了从零学习node.js之简易的网络爬虫(四)的使用技巧和注意事项,需要的朋友参考一下 前言 之前已经介绍了node.js的一些基本知识,下面这篇文章我们的目标是学习完本节课程后,能进行网页简单的分析与抓取,对抓取到的信息进行输出和文本保存。 爬虫的思路很简单: 确定要抓取的URL; 对URL进行抓取,获取网页内容; 对内容进行分析并

  • 本文向大家介绍Android编写简单的网络爬虫,包括了Android编写简单的网络爬虫的使用技巧和注意事项,需要的朋友参考一下 一、网络爬虫的基本知识 网络爬虫通过遍历互联网络,把网络中的相关网页全部抓取过来,这体现了爬的概念。爬虫如何遍历网络呢,互联网可以看做是一张大图,每个页面看做其中的一个节点,页面的连接看做是有向边。图的遍历方式分为宽度遍历和深度遍历,但是深度遍历可能会在深度上过深的遍历或

  • 本文向大家介绍利用C#实现网络爬虫,包括了利用C#实现网络爬虫的使用技巧和注意事项,需要的朋友参考一下 网络爬虫在信息检索与处理中有很大的作用,是收集网络信息的重要工具。 接下来就介绍一下爬虫的简单实现。 爬虫的工作流程如下 爬虫自指定的URL地址开始下载网络资源,直到该地址和所有子地址的指定资源都下载完毕为止。 下面开始逐步分析爬虫的实现。 1. 待下载集合与已下载集合 为了保存需要下载的URL

  • urllib介绍: 在Python2版本中,有urllib和urlib2两个库可以用来实现request的发送。 而在Python3中,已经不存在urllib2这个库了,统一为urllib。 Python3 urllib库官方链接:https://docs.python.org/3/library/urllib.html urllib中包括了四个模块,包括: urllib.request:可以用来

  • 主要内容:认识爬虫,爬虫分类,爬虫应用,爬虫是一把双刃剑,为什么用Python做爬虫,编写爬虫的流程网络爬虫又称网络蜘蛛、网络机器人,它是一种按照一定的规则自动浏览、检索网页信息的程序或者脚本。网络爬虫能够自动请求网页,并将所需要的数据抓取下来。通过对抓取的数据进行处理,从而提取出有价值的信息。 认识爬虫 我们所熟悉的一系列搜索引擎都是大型的网络爬虫,比如百度、搜狗、360浏览器、谷歌搜索等等。每个搜索引擎都拥有自己的爬虫程序,比如 360 浏览器的爬虫称作 360Spider,搜狗的爬虫叫做

  • 案例:爬取百度新闻首页的新闻标题信息 url地址:http://news.baidu.com/ 具体实现步骤: 导入urlib库和re正则 使用urllib.request.Request()创建request请求对象 使用urllib.request.urlopen执行信息爬取,并返回Response对象 使用read()读取信息,使用decode()执行解码 使用re正则解析结果 遍历输出结果