使用Jsoup爬取招聘网站的信息

使用Jsoup爬取网站的信息

先说下需求吧,又到了金三银四的时节,很多人都在忙碌的找工作,那么我将做一个对boss直聘的网站信息爬取的一个定时任务系统,该系统爬取当天最新发布的java工作、地点北京。并将爬取的内容生成Excel文件,发送至我的邮箱。

核心代码介绍

Jsoup爬取网页相关

  1. 添加依赖
        <dependency>
            <groupId>org.jsoup</groupId>
            <artifactId>jsoup</artifactId>
            <version>1.10.3</version>
        </dependency>
  1. 首先获取Document对象,其实就是获取整个页面的大对象
 Document document = Jsoup.connect(url).get();
  1. 然后根据document获取元素,遍历元素得到每个元素的属性、内容。
    其中getElementsByClass是获取元素的一种另外还有
    getElementsByID
    getElementsByTag等等。
Elements elements = document.getElementsByClass("job-primary");
 for (Element e : elements) {
                EmployMessage employMessage = new EmployMessage();
                String jobName  = e.getElementsByClass("job-title").text();
                employMessage.setJobName(e.getElementsByClass("job-title").text());
                ...
 }

生成Excel相关

  1. 添加依赖
        <!-- 生成excel表用jar包 -->
        <dependency>
            <groupId>org.apache.poi</groupId>
            <artifactId>poi-ooxml-schemas</artifactId>
            <version>3.14</version>
        </dependency>
        <dependency>
            <groupId>org.apache.poi</groupId>
            <artifactId>poi-ooxml</artifactId>
            <version>3.14</version>
        </dependency>
        <dependency>
  1. 生成Excel代码

大致步骤:

  • 打开流
  • 声明一个工作簿
  • 创建一个sheet页
  • 创建一个样式
  • 生成列
  • 生成行对象并赋值
  • 创建文件
  • 关闭流
 private File createExcel(List<EmployMessage> list) throws Exception{
        File file = null;
        FileOutputStream fos =null;
        HSSFWorkbook wb =null;
        try{
            SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");
            String date = sdf.format(new Date());
            //声明一个工作薄:包括构建工作簿、表格、样式
            wb = new HSSFWorkbook();
            HSSFSheet sheet = wb.createSheet(date);
            sheet.setDefaultColumnWidth((short) 15);
            // 生成一个样式
            HSSFCellStyle style = wb.createCellStyle();
            HSSFCellStyle style1 = wb.createCellStyle();
            HSSFFont hlink_font = wb.createFont();
            hlink_font.setUnderline(HSSFFont.U_SINGLE);
            hlink_font.setColor(HSSFColor.BLUE.index);
            style1.setFont(hlink_font);
            style1.setAlignment(HSSFCellStyle.ALIGN_CENTER);
            sheet.setColumnWidth(0, 2600);
            sheet.setColumnWidth(1, 2600*2);
            sheet.setColumnWidth(2, 2600*2);
            sheet.setColumnWidth(3, 2600*2);
            sheet.setColumnWidth(4, 2600*2);
            sheet.setColumnWidth(5, 2600);
            sheet.setColumnWidth(6, 2600);
            sheet.setColumnWidth(7, 2600*2);
            sheet.setColumnWidth(8, 2600*2);
            sheet.setColumnWidth(9, 2600*2);
            sheet.setColumnWidth(10, 2600*2);
            sheet.setColumnWidth(11, 2600*6);
            sheet.setColumnWidth(12, 2600*6);
            HSSFCell cell = null;
            for (int i = 0; i <= list.size(); i++) {
                HSSFRow row = sheet.createRow(i);
                String no = null;
                String jobName;
   
  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值