栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Gecco学习笔记(一):综述

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Gecco学习笔记(一):综述

2021SC@SDUSC

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

以上是gecco爬虫官网的介绍,作为一个java爬虫,它

简单易用,使用jquery风格的选择器抽取元素
支持爬取规则的动态配置和加载
支持页面中的异步ajax请求
支持页面中的javascript变量抽取
利用Redis实现分布式抓取
支持结合Spring开发业务逻辑
支持htmlunit扩展
支持插件扩展机制
支持下载时UserAgent随机选取
支持下载代理服务器随机选取
其中的quick start提供了一个简易的网络爬虫

@Gecco(matchUrl="https://github.com/{user}/{project}", pipelines="consolePipeline")
public class MyGithub implements HtmlBean {

    private static final long serialVersionUID = -7127412585200687225L;

    @RequestParameter("user")
    private String user;

    @RequestParameter("project")
    private String project;

    @Text
    @HtmlField(cssPath=".pagehead-actions li:nth-child(2) .social-count")
    private String star;

    @Text
    @HtmlField(cssPath=".pagehead-actions li:nth-child(3) .social-count")
    private String fork;

    @Html
    @HtmlField(cssPath=".entry-content")
    private String readme;

    public String getReadme() {
        return readme;
    }

    public void setReadme(String readme) {
        this.readme = readme;
    }

    public String getUser() {
        return user;
    }

    public void setUser(String user) {
        this.user = user;
    }

    public String getProject() {
        return project;
    }

    public void setProject(String project) {
        this.project = project;
    }

    public String getStar() {
        return star;
    }

    public void setStar(String star) {
        this.star = star;
    }

    public String getFork() {
        return fork;
    }

    public void setFork(String fork) {
        this.fork = fork;
    }

    public static void main(String[] args) {
        GeccoEngine.create()
        .classpath("com.geccocrawler.gecco.demo")
        .start("https://github.com/xtuhcy/gecco")
        .thread(1)
        .interval(2000)
        .loop(true)
        .mobile(false)
        .start();
    }
}

 框架概述

 在这次项目学习中,我会使用gecco,通过爬取京东,淘宝等商品网站的数据,以及csdn的博客数据,与我的小组成员一道,通过分析原代码,理解网络爬虫的运行原理,内部构造,设计逻辑,举一反三,对这个爬虫框架的内容提出自己的分析和优化。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/282158.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号