使用Gecco写Java简单爬虫

  • 简介
      Gecco是一个国人写的Java轻量级爬虫框架,官网请戳:Gecco官网
      个人以前用python的爬虫框架也写过一些简单爬虫,但是因为自己不常用python,所以用python写起来并不顺手。偶然情况下,接触Gecco这个Java爬虫框架,尝试用了一下,感觉非常不错,用起来非常简单,非常适合不太懂爬虫基础,又想快速写个爬虫来爬取数据的人。

  • 开发环境简单说明
      (1) 环境说明:
       – JDK版本:JDK 1.8.0
       – 开发工具:IntelliJ idea
       – 项目类别:Maven项目

      (2) 初始化项目环境:
       step1: 建立Maven项目,并选择quickstart原型模板
    这里写图片描述

       step2:pom文件引入Gecco核心依赖

<dependency>
    <groupId>com.geccocrawler</groupId>
    <artifactId>gecco</artifactId>
    <version>1.1.0</version>
</dependency>
  • 使用Gecoo写简单爬虫
      这里以爬取M站为例。现在要将该网站的列表数据和列表详情页数据都爬取下来。
      (1) 建立主入口类NewsSpiderEntry
// Gecco注解中的matchUrl代表可被解析的url路径,pipelines代表一个处理管道,
//当路径页面被下载下来之后,能够通过管道类对封装到HtmlBean中的数据进行处理
//{page}代表一个路径匹配变量,这个变量可以在类中变量通过@RequestParam注解解析获得
@Gecco(matchUrl = "http://news.missevan.com/news/index?p={page}", 
                      pipelines = {
  "mainPipeline", "newsDetailPipe"})
public class NewsSpiderEntry implements HtmlBean {
   

    @Request
    private HttpRequest request;

    //cssPath语法和Jquery的选择器类似,用于获取mathurl文档流中符合的元素数据
    //  //NewsSummaryView类看下面,这个类用于封装解析后的列表页数据
    @HtmlField(cssPath = ".newslist")
    private List<NewsSummaryView> newsSummaryViews;

    //Text代表解析text文档(html代表解析html文档,attr代表解析标签属性等)
    @Text
    @HtmlField(cssPath = ".selected > a")
    private String nextPage;


    public HttpRequest getRequest() {
        return request;
    }

    public void setRequest(HttpRequest request) {
        this.request = request;
    }

    public String getNextPage() {
        return nextPage;
    }

    public void setNextPage(String nextPage) {
        this.nextPage = nextPage;
    }

    public Lis
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值