用Gecco爬虫采集数据

2023-11-14

说起网络爬虫大家首先都会想到python爬虫,但是用Java实现爬虫的也很多,也有很多爬虫框架,今天我想说说我使用什么做爬虫的。

其实我也是一个爬虫白痴,刚接触爬虫的时候都是用纯java去做,但是做到一半的时候发现要写的代码真多,所以就找Java爬虫框架,于是就碰到了GECCO,说起这个GECCO,

确实比较适合入门,下面就说说这个框架是如何使用的。

@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=".repository-meta-content")
        private String title;

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

        @Text
        @HtmlField(cssPath=".pagehead-actions li:nth-child(3) .social-count")
        private int 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 getTitle() {
            return title;
        }

        public void setTitle(String title) {
            this.title = title;
        }

        public int getStar() {
            return star;
        }

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

        public int getFork() {
            return fork;
        }

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

        public static void main(String[] args) {
            GeccoEngine.create()
            //Gecco搜索的包路径
            .classpath("com.geccocrawler.gecco.demo")
            //开始抓取的页面地址
            .start("https://github.com/xtuhcy/gecco")
            //开启几个爬虫线程
            .thread(1)
            //单个爬虫每次抓取完一个请求后的间隔时间
            .interval(2000)
            .start();
        }
    }

这个是官方给的一个demo,后来我又找到web版并可以定时执行的gecco代码,并大量修改,目前已经把汽车之家、易车网、瓜子二手车等网站顺利爬下,这里就不分享了,如若想要就联系我,一切代码都奉上

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

用Gecco爬虫采集数据 的相关文章

  • GITHUB实用有趣工具推荐

    1 algorithm visualizer 一个交互式的在线可视化学习算法平台 能在可视化区域看到每行代码执行对应的操作 并且有对应的动画呈现 使你更加容易理解算法 2 pcottle learnGitBranching 一个在线可视化交
  • python能做什么毕业设计-有没有适合python做的毕设题目,现在不知道做什么了?...

    对于这个问题有三个解决方案 1 自己开发 2 借助开源项目 3 付费开发 结合自身的能力和需求 大家可以自行寻找合适的解决方案 1 自己开发 难度 高 实用性 低 价格 免费 Python 是一门非常好入门的语言 普通人跟着一门教程认真学
  • jenkins部署 java项目到远程 windows服务器

    jenkins部署 java项目到远程 windows服务器 1 查看windows服务器是否有 ssh服务 cmd模式 输入 ssh 如果报错就去安装ssh 可以去下 openSSH 2 然后直接用自己的电脑就是客户端 用xshell 连
  • 79. Word Search

    Given a 2D board and a word find if the word exists in the grid The word can be constructed from letters of sequentially
  • 蓦然回首 灯火阑珊

    时间的沙漏沉淀着无法逃离的过往 记忆的双手总是拾起那些明媚的忧伤 雨声 划破伤痛的记忆 泪水 激起心中的波浪 你的一闪而过 让我记住这永恒的瞬间 你在我生命中留下不褪色的光芒 就如流星的坠落绚丽地点亮了整个星空 很幸运 就像是个命运的宠儿
  • Bootloader

    Bootloader 一段有下载和引导功能的程序 下载应用程序 引导使MCU运行在应用程序中 只在有更新请求或者APP无效的时候才会激活 APP和Bootloader都存在Flash中 Flash Driver用来擦除APP 下载临时存放在
  • 力扣2596. 检查骑士巡视方案

    题目描述 骑士在一张 n x n 的棋盘上巡视 在 有效 的巡视方案中 骑士会从棋盘的 左上角 出发 并且访问棋盘上的每个格子 恰好一次 给你一个 n x n 的整数矩阵 grid 由范围 0 n n 1 内的不同整数组成 其中 grid
  • latent-diffusion model环境配置,这可能是你能够找到的最细的博客了

    文章目录 前言 一 环境配置 1 创建requirement txt文件 2 提前从Github上下载好taming transformers和clip 3 创建conda环境 并安装requirement txt文件 4 安装torch
  • oracle sql model,SQL语句中的model用法

    事情起因 今天看到一条非常 稀奇古怪 的SQL select语句中 在表后面跟了一大窜以model开头的东东 后来查一下资料 原来model在数据仓库中是比较有地位的 列一下几个简单的测试 more 1 测试表中数据 SQL gt sele
  • 使用阿里PAI DSW部署Stable Diffusion WebUI

    参考内容为 快速启动Stable Diffusion WebUI 进入到网址https pai console aliyun com 里边 点击创建实例 把实例名称填写好 选择GPU规格 然后选择实例名称是ecs gn6v c8g1 2xl
  • MySqL导出表结构文档

    SELECT COLUMN NAME 列名 COLUMN COMMENT 名称 COLUMN TYPE 数据类型 DATA TYPE 字段类型 CHARACTER MAXIMUM LENGTH 长度 IS NULLABLE 是否必填 COL
  • 如何优化 API 开发?

    API 是一套规则 定义了应用程序或设备的用户友好性 它是一个软件中介 使应用程序之间可以互动 它可以是基于网络的系统 数据库系统等 像 Netflix Facebook 和 Github 这样的科技巨头在这方面处于领导地位 他们雇佣 AP
  • React-hooks面试考察知识点汇总

    Hook 简介 Hook出世之前React存在的问题 在组件之间复用状态逻辑很难 React 没有提供将可复用性行为 附加 到组件的途径 例如 把组件连接到 store 有一些解决此类问题的方案 比如 render props 和 高阶组件
  • Linux学习——动态库的创建

    Linux 创建动态库 一 动态库特点 二 生成动态库 共享库 1 生成目标文件 o 2 创建共享库 以command为例 3 给共享库创建链接 4 编译测试 5 让系统找到库的方法 1 方法二 2 方法三 一 动态库特点 二 生成动态库
  • Python爬虫教程入门(附源码)

    感谢博主分享 作者 码农BookSea 原文链接 https blog csdn net bookssea article details 107309591 讲解我们的爬虫之前 先概述关于爬虫的简单概念 毕竟是零基础教程 爬虫 网络爬虫
  • 2023年热门技术有哪些?

    2023年 哪些尖端技术领域将成为最重要的五大技术领域 接受调查的全球技术领导者表示 云计算 5G 元宇宙 电动汽车和工业物联网将是2023年最重要的五个技术领域 该研究还预测 5G技术将在明年对远程学习和教育 远程医疗和娱乐产生最大影响
  • 一种新的爬虫网络解锁器

    事出原由 遇到一个需要采集境外电商的需求 相比国内各种层出不穷的反爬手段 境外产品更注重于用户行为和指纹上 所以笔者在想是否有类似于指纹浏览器的环境可以提供给爬虫采集器使用 经过检索 找到了一种名为爬虫网络解锁器的新兴产品 爬虫网络解锁器
  • 最深情的告白——郁金香(Python实现)

    目录 1 最深情的告白 2 即兴赞之 2 1 李小白言郁金香 2 2 郁金香般的姑娘 2 3 荷兰的郁金香 3 Python代码实现 3 1 郁金香的芬芳 3 2 我俩绚丽多姿的风景 1 最深情的告白 风中雨打花瓣 打不落她那冰清玉洁的品质
  • 双波长分光光度法的原理

    1 双波长分光光度法的原理 双波长分光光度法是在传统分光光度法的基础上发展起来的 它的理论基础是差吸光度和等吸收波长 它与传统分光光度法的不同之处 在于它采用了两个不同的波长即测量波长 又叫主波长 p Primary Wavelength

随机推荐

  • Java中 Happen-before 规则总结

    详细见 http docs oracle com javase 7 docs api java util concurrent package summary html 比较重要的几条 1 Actions prior to releasin
  • Elasticsearch在SpringBoot项目中简单使用

    目录 概要 在Spring Boot项目中的使用 一 添加依赖 二 配置连接 三 创建实体类 四 创建Repository 五 使用Repository 总结 概要 Elasticsearch 简称ES 是一个开源的分布式搜索和分析引擎 基
  • mysql root账户连接问题:Access denied for user ‘root‘@‘localhost

    问题描述 一个项目 框架用了Django 数据库用的mysql 但在执行python manage py migrate时遇到了如下问题 Traceback most recent call last File usr local lib
  • 字符串匹配算法(2)BM

    2017 02 24 本篇针对BM算法 字符串匹配 进行讲解 这个算法也是看了很久 看到这里也感觉很力不从心 看来需要我把前面两篇算法实践下了 不然总觉得空空的 概述 1 对于原有的都是从左往右进行匹配的模式进行修改 改为 从右往左 也就是
  • 金融数据获取系列之一(优矿)

    金融数据获取系列之一 优矿 1 优矿平台简要介绍 2 基于优矿平台的示例 获取中国大陆股票市场 18指数 上证指数 上证综指 上证A指 上证B指 上证50 上证180 上证380 深证指数 深证成指 深证综指 深证A指 深证B指 中证指数
  • Apache配置优化总结

    Apache下载 http httpd apache org download cgi conf httpd conf分别搜索关键字ServerTokens和ServerSignature 修改 ServerTokens OS 修改为 Se
  • centos7 静默安装oracle11g

    1 下载oracle11g文件 linux x64 11gR2 database 1of2 zip 和 linux x64 11gR2 database 2of2 zip 可以下载到本地再用ftp上传到服务器 2 创建用户组和oracle用
  • go env 配置(环境变量)说明

    前提 已经安装好 golang 可正确的运行下面这段命令 来查看 go 的配置 go env 输出示例 以上是我本地 windows 环境下输出的配置信息 环境变量 我们这次就针对每个配置信息进行一个说明 具体到每个字段是什么意思 以下标注
  • 计算机的进制与性能

    计算机的性能与进制 目前计算机的进制 我们都知道目前我们所使用的计算机的进制是二进制 因为我们通常会把一个计算机看成一个集成电路 就可以用我们初中物理上面学过的电路图来表示 而对应的二进制正好只有0 1两种状态 正好符合我们的逻辑方式 TR
  • html怎么获取window,怎么获取window.open中的值

    当前位置 我的异常网 ASP NET 怎么获取window open中的值 怎么获取window open中的值 www myexceptions net 网友分享于 2013 03 03 浏览 49次 如何获取window open中的值
  • 【SBT】getting org.scala-sbt sbt 1.8.2 (this may take some time)...问题解决

    在windows环境搭建scala环境需要用到sbt 在安装完sbt后首次使用下载sbt应用程序时长时间卡在这一步 网上有两种解决方式 1 网络代理 2 国内镜像 网络代理方式尝试了很多次 均不成功 国内镜像方式同样网上出现了大量帖子列举国
  • cout与printf

    printf与流 不妨也比较一下两个的优缺点 1 先说printf的优点 也就这一点了 那就是代码简洁 格式化方便 可以在格式化字符串里一次性将输出格式化 而ostream则需要一段一段地拆分 显得比较烦锁 特别是自定义输出类型的格式时 如
  • webpack5详细配置与介绍

    webpack的基本概念 微博pack时一种前端资源构建工具 一个静态模块打包器 再webpack看来 前端的所有资源 都会当作一个模块来处理 它将会根据模块的依赖关系进行静态分析 打包生成对应的静态资源 bundle entry 入口指示
  • torch.transpose()函数

    torch transpose Tensor dim0 dim1 是pytorch中的ndarray矩阵进行转置的操作 注意 transpose 一次只能在两个维度间进行转置 也可以理解为维度转换 例如 import torch as t
  • 命令行启动anaconda

    命令行启动anaconda anaconda navigator
  • VsCode使用技巧:避免ubuntu版本右键菜单误点

    问题描述 ubuntu版本 16 04 的VsCode 1 69版本 经常在代码界面下单击右键总会点到右键菜单中的某一项上面 只有每次点下的时候把鼠标向左移动再弹起才能避免 比如我们调试时 想把某个变量添加到监视 但是单击右键菜单 老是直接
  • gitlab常用的命令

    引言 使用gitlab提交代码的时候 若是使用的命令行 则需要输入命令行指令 下面是日常遇到的常用的命令行指令 详情 git命令行常用指令的使用 git status 上次提交后是否对文件再做了修改项目1 git add 添加所有的变动 g
  • python中的pass是什么意思_Python中pass的作用与使用教程

    Python中pass的作用与使用教程 Python中pass的作用 空语句 do nothing 保证格式完整 保证语义完整 以if语句为例 在c或c java中 if true do nothing else do something
  • SQLite与MySQL、SQLServer等异构数据库之间数据同步的解决方案

    什么是SQLite DBSync SQLite DBSync是开源嵌入式数据库SQLite的数据同步引擎 实现了SQLite与SQLite数据库之间以及SQLite与异构数据库 Oracle MySQL SQLServer 之间的增量的 双
  • 用Gecco爬虫采集数据

    说起网络爬虫大家首先都会想到python爬虫 但是用Java实现爬虫的也很多 也有很多爬虫框架 今天我想说说我使用什么做爬虫的 其实我也是一个爬虫白痴 刚接触爬虫的时候都是用纯java去做 但是做到一半的时候发现要写的代码真多 所以就找Ja