91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

jsoup怎么用

發布時間:2022-01-15 17:44:18 來源:億速云 閱讀:163 作者:iii 欄目:大數據

本篇內容主要講解“jsoup怎么用”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“jsoup怎么用”吧!

jsoup是一款Java的HTML解析器,可以從html中解析數想要的數據,是用java寫爬蟲必備的工具。

每日增量、總量數據隨意切換

jsoup怎么用

閱讀量、粉絲量、評論數、點贊數、總排名、周排名…… 任意選取

jsoup怎么用

隨意選取時間區間

jsoup怎么用

自從有了這個工具后,我博客一切數據盡收眼底,每天看著這數據一點點的變化,還是蠻有成就感、蠻開心的呢 !!

如何做?

秀完該告訴大家如何做的,首先你得有臺能執行定時任務的主機,云主機或者你臥室的主機都可以,然后得有個數據庫,至于整體功能其實就是一個簡單的增刪改查。哦 不對,只有增查沒有刪改,數據展示的話我用了螞蟻金服開源的可視化庫antv g2,我用的3.8 bug很多不推薦,推薦使用highchart。

我認為其中比較復雜的部分應該是html數據解析的部分,這部分后面我會直接把我代碼告訴你。其次就是數據庫的存儲和查詢,我用spring-boot搭了個web服務,用了spring-boot-starter-quartz寫了每天晚上11:55的定時任務,用mybatis-spring-boot-starter來讀寫數據庫。

html的解析代碼,需要看懂csdn博客頁的html布局,然后逐漸調試獲取數據,當然csdn官方一改版,代碼就執行不了了,所幸這種致命性改版頻率不會特別高,這大半年我就遇到過2-3次,代碼如下,可以直接拿來用,把url換成自己博客url就可以了。

public class CommonUtils {
    private static Logger log = LoggerFactory.getLogger(CommonUtils.class);

    private static Map<String, String> headers;

    static {
        headers = new HashMap<>();
        headers.put("referer", "https://www.google.com/");
        headers.put("User-Agent", "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0" +
                ".4183.83 Safari/537.36");
    }

    public static BlogInfoDao getBlogInfo() {
        int retry = 3;
        while (--retry > 0) {
            try {
                BlogInfoDao blogInfoDao = new BlogInfoDao();
                blogInfoDao.setDate(new Date());
                Document doc = Jsoup.connect("https://blog.csdn.net/xindoo").headers(headers).get();
                Element blogElement = doc.getElementsByClass("data-info d-flex item-tiling").get(0);
                // 文章數量
                int articleCnt = Integer.parseInt(blogElement.getElementsByTag("dl").get(0).attr("title"));
                blogInfoDao.setArticleCnt(articleCnt);
                // 周排名
                int wranking = Integer.parseInt(blogElement.getElementsByTag("dl").get(1).attr("title"));
                blogInfoDao.setWranking(wranking);
                // 總排名
                int ranking = Integer.parseInt(blogElement.getElementsByTag("dl").get(2).attr("title"));
                blogInfoDao.setRanking(ranking);
                // 總閱讀量
                int viewCnt = Integer.parseInt(blogElement.getElementsByTag("dl").get(3).attr("title"));
                blogInfoDao.setViewCnt(viewCnt);

                blogElement = doc.getElementsByClass("data-info d-flex item-tiling").get(1);
                // 總積分
                int scoreCnt = Integer.parseInt(blogElement.getElementsByTag("dl").get(0).attr("title"));
                blogInfoDao.setScore(scoreCnt);
                // 粉絲數量
                int fansCnt = Integer.parseInt(blogElement.getElementsByTag("dl").get(1).attr("title"));
                blogInfoDao.setFansCnt(fansCnt);
                // 點贊量
                int likeCnt = Integer.parseInt(blogElement.getElementsByTag("dl").get(2).attr("title"));
                blogInfoDao.setLikeCnt(likeCnt);
                // 評論量
                int commentCnt = Integer.parseInt(blogElement.getElementsByTag("dl").get(3).attr("title"));
                blogInfoDao.setCommentCnt(commentCnt);
                // 收藏量
                int collectCnt = Integer.parseInt(blogElement.getElementsByTag("dl").get(4).attr("title"));
                blogInfoDao.setCollectCnt(collectCnt);

                return blogInfoDao;
            } catch (Exception e) {
                log.error("get bloginfo error, {}", e);
            }
        }
        return null;
    }
}

blogInfoDao是我封裝的用來和數據庫交互的類,沒啥內容這里就不再貼了。

到此,相信大家對“jsoup怎么用”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

北碚区| 革吉县| 仙桃市| 云和县| 定远县| 石狮市| 常州市| 兴隆县| 木里| 金阳县| 夏津县| 吉首市| 怀远县| 交城县| 广德县| 六盘水市| 云浮市| 通州区| 巴塘县| 梁山县| 太保市| 彰化市| 广饶县| 昌邑市| 湄潭县| 焉耆| 土默特左旗| 江源县| 松阳县| 吉林省| 高清| 称多县| 宕昌县| 邵阳县| 江山市| 银川市| 安乡县| 汽车| 丹江口市| 大安市| 纳雍县|