前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Java爬虫

Java爬虫

作者头像
小颜同学
发布2023-08-24 08:12:48
1550
发布2023-08-24 08:12:48
举报
文章被收录于专栏:原创笔记原创笔记

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

导入Jar包

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

代码语言:javascript
复制
<dependency>
    <groupId>org.jsoup</groupId>
    <artifactId>jsoup</artifactId>
    <version>1.8.3</version>
</dependency>

分析网页

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

发现这地址在

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

代码语言:javascript
复制
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

代码语言:javascript
复制
for (Element element:elements){

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

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

}

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

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

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

代码语言:javascript
复制
for (Element ele : select) {

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

}

完整代码

代码语言:javascript
复制
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);

            }

        }

    }

}
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2022-09-26 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 导入Jar包
  • 分析网页
  • 完整代码
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档