java之爬虫菜鸟运用

主要是一个简单的demo测试

1.首先找到一个html查看源码如图

 如果是这样的一段代码,我们的目标是获取a标签中的href内容,和文本内容,以及<span></span>标签中的日期,和p标签中的数据

2.开始做准备

(1)加入相关工具包

    <!-- html解析jar -->
    <dependency>
        <groupId>org.jsoup</groupId>
        <artifactId>jsoup</artifactId>
        <version>1.12.1</version>
    </dependency>


    <dependency>
        <groupId>cn.hutool</groupId>
        <artifactId>hutool-all</artifactId>
        <version>5.5.2</version>
    </dependency>        

(2)上测试代码(注意导包很多都是运用的jsoup包中的工具如图

public static void main(String[] args) {
        JSONObject result = JSONUtil.createObj();
        StringBuilder html = new StringBuilder();
        html.append("E:\iis\www.9218.com\fenxi\index.html");
        FileReader fileReader = new FileReader(html.toString());
        List<JSONObject> mainList = new ArrayList<JSONObject>();
        /**
         * 下面是Jsoup展现自我的平台
         */
        Document document = Jsoup.parse(fileReader.readString());
        // 获取class属性为newslist Dom对象
        Element post = document.getElementsByClass("newslist").first();
        // 获取含有li标签内容列表
        Elements postList = post.getElementsByTag("li");
        // 循环处理li标签中的内容
        for (Element postItem : postList) {
            JSONObject param = JSONUtil.createObj();

            // 像jquery选择器一样,获取文章作者元素
            // 获取含有a标签内容列表
            Elements titleEle = postItem.select("a");
            param.set("title", titleEle.text());
            param.set("url", titleEle.attr("href"));// 获取a标签中href属性内容

            // 获取含有span标签内容列表
            Elements footEle = postItem.select("span");
            param.set("time", footEle.text());

            // 获取含有p标签内容
            Elements content = postItem.select("p");
            param.set("content", content.text());

            mainList.add(param);
        }
        result.set("main", mainList);
        System.out.println(result.toString());
    }

 (3)上测试结果截图后台打印图

 通过json格式化的数据截图

 可以了这个工具还是很强大的,很好用的

最后来个重要提示----爬虫虽好,请文明使用,如果对别人造成了大损失,后果很严重的

jsoup
原文地址:https://www.cnblogs.com/study-together/p/14309395.html