JAVA爬虫学习 第二天

今天学习 Jsoup
首先引入相关依赖

<dependency>
    <groupId>org.jsoup</groupId>
    <artifactId>jsoup</artifactId>
    <version>1.12.1</version>
</dependency>

然后明确我们今天要爬取的目标
在这里插入图片描述
获取作品分类和相关衔接
第一步、
首先按F12 找到对应的html文件
在这里插入图片描述

点击elements这个选项栏, 就找到了这个页面的HTML ,
然后通过

在这里插入图片描述
点击页面上的组件, 可以直接定位到相应代码段。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

通过代码段,我们发现,我们要查找的内容最外层是div 标签, 
倒数第二层是dl标签, 通过这个标签, 将这些文字排列。 
最后我们的目标代码段

在这里插入图片描述

显然我们可以看到, 
我们要抓取的就是 <a> 标签的属性 , 
href (链接) , title (小说类型) 。 
然后我们获取CSS选择器解析的写法

在这里插入图片描述

写法如下:
#classify-list > dl > dd:nth-child(1) > a
通过实现我们发现, 用浏览器直接生成会抓取指定的组件。
在这个例子中就是特定的 <a>标签。 
所以如果我们用这句话来选择, 只会选择到其中一条, 
但是结合该语句我们写出下面的选择表达式 : 
#classify-list > dl > dd > a
我们就能获取到所有的<a>标签, 而且是一个个元素排列的, 这样
我们就能通过for遍历所有的<a> 标签
然后获取我们要的内容了 。

在这里插入图片描述

运行成功的代码如下:

package com.example.demo;

import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import org.jsoup.select.Elements;


import java.io.IOException;

public class jsouptest {
     public static void main(String args[])
     {
         try {
             Document document = Jsoup.connect("https://www.qidian.com/").get();
             Elements elements=document.select("#classify-list > dl > dd > a");
             System.out.println(elements);
             //#classify-list > dl > dd:nth-child(2) > a
             *[@id="classify-list"]/dl/dd[2]/a
             for(Element element : elements)
             {
                 String lianjie=element.attr("href");
                 String title=element.attr("title");
                 System.out.println(title + "的链接为 " + lianjie);
             }
         }
         catch(IOException e)
         {
             e.printStackTrace();
         }
     }
}

结果如下图所示 : 

在这里插入图片描述
为了更加进一步学习jsoup, 我们可以进入官网学习 :
https://try.jsoup.org/~LGB7rk_atM2roavV0d-czMt3J_g
那么到这里今天的实验就结束了 。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

絨辉

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值