java爬虫Gecco爬取豆瓣top250的电影数据

本文介绍了如何利用Java爬虫框架Gecco抓取豆瓣电影Top250的详细步骤,包括导入依赖、获取所有电影URL、发起二次请求、解析并存储数据以及展示爬取结果。通过编写Category类和AllSort类来处理数据,最终成功获取到每部电影的相关信息。
摘要由CSDN通过智能技术生成


这几天,一个作业需要用到java爬虫,于是在这里记录一下

导入依赖

        <dependency>
            <groupId>com.geccocrawler</groupId>
            <artifactId>gecco</artifactId>
            <version>1.0.8</version>
        </dependency>

获取所有url

top250的url是那些链接
在这里插入图片描述

在这里插入图片描述
我们可以写一个类来保存那些的url,如下parentName是保存选择器 “p” 文字信息,可要可不要;categorys是保存选择器 “a” 的url的;它的类型List <HrefBean,HrefBean如下图,它可以保存 a 标签的 href 和其包含的文字
在这里插入图片描述
Category类

package com.hzxy.reptile.crawl;

import com.geccocrawler.gecco.annotation.HtmlField;
import com.geccocrawler.gecco.annotation.Text;
import com.geccocrawler.gecco.spider.HrefBean;
import com.geccocrawler.gecco.spider.HtmlBean;

import java.util.List;

/**
 * 创建时间 2021/7/1 16:10
 * 爬取数据的封装类
 * @author Ye
 * @version 1.0
 */
public class Category implements HtmlBean {
   
    private static final long serialVersionUID = 3018760488621382659L;

    @Text
    @HtmlField(cssPath="p")
    private String parentName;

    //保存url
    @HtmlField(cssPath="a")
    private List<HrefBean> categorys;

    public String getParentName() {
   
        return parentName;
    }

    public void setParentName(String parentName) {
   
        this.parentName = parentName;
    }

    public List<HrefBean> getCategorys() {
   
        return categorys;
    }

    public void setCategorys(List<HrefBean> categorys) {
   
        this.categorys = categorys;
    }

    @Override
    public String toString() {
   
        return "Category{" +
                "parentName='" + parentName + '\'' +
                ", categorys=" + categorys +
                '}';
    }
}

这是获取所有url的类,匹配url https://movie.douban.com/top250,找到所有.info选择器的元素,把a的url赋值给Category的categorys,文字赋值给parentName
在这里插入图片描述

AllSort类

package com.hzxy.reptile.crawl;

import com.geccocrawler.gecco.annotation.Gecco;
import com.geccocrawler.gecco
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值