Java爬虫

Java爬虫

小颜同学 Lv4

在日常生活中,我们最先想到的爬虫是Python,它的确是一个非常方便且快捷易上手的,
但我们是否能用Java来实现python这一功能呢,让我们一起来看看~

导入Jar包

需要用到Jsoup这个包导入即可

1
2
3
4
5
<dependency>
<groupId>org.jsoup</groupId>
<artifactId>jsoup</artifactId>
<version>1.8.3</version>
</dependency>

分析网页

先浏览器进去网址,F12看看,找找规律

发现这地址在

  • 的 a标签里,这个时候通过标签选择器定位到这个a标签

    1
    2
    3
    4
    5
    String html = "";

    Document document = Jsoup.connect(html).get();

    Elements elements = document.select("div.g_box1 > ul > li > a");//此处是所有a标签的集合

    然后 再遍历elements获取到这个a标签的href属性 通过拼接地址 得到想要的每个页面的完整链接

    https://m.jieseba.org//a/4149.html

    1
    2
    3
    4
    5
    6
    7
    for (Element element:elements){

    String d_url = element.attr("href");

    System.out.println("详情页链接:https://m.jieseba.org/"+d_url);//这个就是网页内容的链接地址

    }

    这个时候看一下详情页的内容,想要的数据都在类为txt1的div下的p标签里,再想上面一样,定位到这个p标签

    1
    2
    Document doc = Jsoup.connect("https://m.jieseba.org/"+d_url).get();
    Elements select = doc.select("div.g_con > div.txt1 > p");//定位到P标签 此时是P标签集合

    定位到P标签之后还是跟上面的步骤一样,循环输出就可以了

    1
    2
    3
    4
    5
    6
    for (Element ele : select) {

    String index = ele.ownText();
    System.out.println(index);

    }

    完整代码

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    package cn.3zi.www;

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


    public class GrabUrl {

    /**测试*/
    public static void main(String[] args) throws Exception {

    String html = "https://m.jieseba.org/a/jzbj_1.html";

    Document document = Jsoup.connect(html).get();

    Elements elements = document.select("div.g_box1 > ul > li > a");

    for (Element element:elements){

    String d_url = element.attr("href");

    System.out.println("详情页链接:https://m.jieseba.org/"+d_url);

    Document doc = Jsoup.connect("https://m.jieseba.org/"+d_url).get();
    Elements select = doc.select("div.g_con > div.txt1 > p");

    for (Element ele : select) {

    String index = ele.ownText();
    System.out.println(index);

    }

    }

    }

    }
  • 标题: Java爬虫
  • 作者: 小颜同学
  • 创建于: 2022-09-26 14:05:01
  • 更新于: 2024-02-07 14:23:20
  • 链接: https://www.wy-studio.cn/2022/09/26/Java爬虫/
  • 版权声明: 本文章采用 CC BY-NC-SA 4.0 进行许可。
 评论
此页目录
Java爬虫