加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

Java使用Jsoup之爬取博客数据应用实例

发布时间:2020-12-15 07:14:53 所属栏目:Java 来源:网络整理
导读:导入Maven依赖 !-- https: // mvnrepository.com/artifact/org.jsoup/jsoup -- dependency groupIdorg.jsoup/groupId artifactIdjsoup/artifactId version 1.11 . 3 /version /dependency 选择你要爬取网站(这里我以爬取自己的博客文章为例) ? 通过浏览器进

导入Maven依赖

<!-- https://mvnrepository.com/artifact/org.jsoup/jsoup -->


    <dependency>


        <groupId>org.jsoup</groupId>


        <artifactId>jsoup</artifactId>


        <version>1.11.3</version>


    </dependency>

选择你要爬取网站(这里我以爬取自己的博客文章为例)

?

通过浏览器进入这个网址

如我的博客

使用浏览器调试工具(后面会说到这个目的)

?

编写对应的Java的代码

package cn.test;


import org.jsoup.Connection;


 org.jsoup.Jsoup;


 org.jsoup.nodes.Document;


 org.jsoup.nodes.Element;


 org.jsoup.select.Elements;


 java.io.IOException;


 java.util.ArrayList;


 java.util.List;





/**


 * A simple example,used on the jsoup website.


 */


public class BlogJsoup {


    


     * 获取博客最近十篇文章


     * @param args


     * @throws IOException


     */


    static void main(String[] args) throws IOException {


        


        Connection connection = Jsoup.connect("https://www.cnblogs.com/youcong/");


        


        connection.header("User-Agent","Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML,like Gecko) Chrome/52.0.2743.116 Safari/537.36");





        try {


           


            Document document = connection.timeout(100000).get();





            包含所有列表的文章


            Elements elements = document.getElementsByClass("postTitle2");


     


            for (Element element : elements) {


         


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


                String text = element.text();


                String msg = text+" "+path;


                System.out.println(msg);





            }


            





        } catch (IOException e) {


            


            e.printStackTrace();


        }


             





   


}


    


}

上面的代码,用流程可以梳理为如下:

连接爬取的网站->设置浏览器请求头(防止因浏览器的限制导致爬取数据失败)->获取整个HTML(实际就是一个html)->选择HTML中的某一个元素(如类选择器postTitle2,如果不指定对应的元素选择器,那么直接爬取的就是整个HTML)->爬取数据并输出

输出结果如图:

?

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读