• 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
  • 相关阅读:
    redis缓存穿透
    rocketmq配置文件两主两从
    jvm参数模板
    (转)volatile如何保证可见性
    Spring事务传播性与隔离级别
    Redis windows 远程连接配置修改
    Redis安装与配置( Windows10 或Windows server)
    C#中的虚函数及继承关系
    C#高级功能(三)Action、Func,Tuple
    WAMP配置httpd.conf允许外部访问
  • 原文地址:https://www.cnblogs.com/study-together/p/14309395.html
Copyright © 2020-2023  润新知