最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Java實現(xiàn)將每日新聞添加到自己博客中

 更新時間:2022年12月30日 14:51:37   作者:穆雄雄  
這篇文章主要為大家詳細介紹了Java如何實現(xiàn)將每日新聞添加到自己博客中并發(fā)送到微信群中,文中的示例代碼講解詳細,感興趣的小伙伴可以了解一下

前言

最近新整了個博客網(wǎng)站,同事在gitee上找的,還不錯,gitee上的地址在這里:拾壹博客管理系統(tǒng)

別人的業(yè)務(wù),再好也有不滿足自己的地方,所以我就拉下來源碼看了看,改了些bug,其中我覺得這個需求是有人需要用到的——每日新聞推送到微信群中。

效果圖如下:

每天定時凌晨5.20推送。

why

在說功能之前先說說為什么要做這么件事兒,之前我是從比的微信群中將每日新聞復(fù)制到自己的群的,因為群需要互動互動,不能成為一個死群,所以我就每天手動發(fā),偶爾有幾次不發(fā),就有群友問我,為啥不發(fā)了呢,他們覺的這個東西還挺好(雖然發(fā)了之后也沒有人回復(fù),大家可能只是在默默的觀察關(guān)注吧)

于是后面我就每天都發(fā),但是吧,手動發(fā),有時候記得,有時候忘記,并且別的群不發(fā)的話,我就沒地方找去,還得自己去網(wǎng)上找,所以就想著自己寫一個吧。

思路

網(wǎng)上有專門的這種接口,用來拿到每日新聞簡要

將新聞?wù)沓梢黄恼?,發(fā)送到博客中

利用別的途徑,將新聞標題(因為微信發(fā)文字會有字數(shù)限制),推送到群中(智能微秘書)

然后按照這個思路我們?nèi)崿F(xiàn)。

代碼實現(xiàn)

1.首先我們?nèi)ヌ煨袛?shù)據(jù),注冊一個賬號,然后找到每日新聞,申請改接口。

注冊地址:天行數(shù)據(jù),找到接口:

申請下來之后,去個人中心,看看自己的key是多少,我們在請求接口的時候需要拿著這個key去。

2. 在java中實現(xiàn)調(diào)用該接口,拿到數(shù)據(jù)發(fā)布到博客中。

關(guān)鍵代碼如下:

 /**
     * 獲取每日新聞,添加到文章里面
     * @param
     * @return
     */
    @Override
    public ResponseResult getDaysNews() {
        //調(diào)用每日簡報的接口
        String body = HttpUtil
                .createGet(DAYS_NEWS_API + "?key=" + TIAN_KEY)
                .execute()
                .body();
       

        JSONObject jsonObjectResult = JSON.parseObject(body);
        Integer code = jsonObjectResult.getInteger("code");
        if(code!=200){
            log.error("請求每日新聞的接口出錯,出錯信息:"+body);
            return ResponseResult.error();
        }
        log.error("請求每日新聞的接口成功:"+body);
        JSONObject resultObject = jsonObjectResult.getJSONObject("result");
        //獲取新聞列表
        JSONArray contentList = resultObject.getJSONArray("list");
        //獲取文章的封面信息
        String strResult = restTemplate.getForObject(IMG_URL_API, String.class);
        JSONObject jsonObject = JSON.parseObject(strResult);
        Object imgUrl = jsonObject.get("imgurl");
        //將新聞列表封裝成markdown文章
        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy年MM月dd日");
        String todayDate = simpleDateFormat.format(new Date());
        String titleContent = "# "+todayDate+"新聞簡要<br/>";
        StringBuilder stringBuilder = new StringBuilder(titleContent);
        //發(fā)送到微信群里面的信息
        JSONObject contentObject = new JSONObject();
        contentObject.put("todayDate",todayDate);
        JSONArray array = new JSONArray();

        //遍歷接口返回來的json數(shù)據(jù)
        contentList.forEach(item->{
            JSONObject arrayObject = new JSONObject();
            JSONObject itemObject = (JSONObject)item;
            stringBuilder.append("??");
            stringBuilder.append(itemObject.getString("mtime"));
            stringBuilder.append("<br/>");
            stringBuilder.append("### ");
            stringBuilder.append("???");
            stringBuilder.append(itemObject.getString("title"));
            stringBuilder.append("<br/>");
            stringBuilder.append("??");
            stringBuilder.append(itemObject.getString("digest"));
            stringBuilder.append("<br/>");
            stringBuilder.append("<br/>");
            stringBuilder.append("---");
            stringBuilder.append("<br/>");
            //標題
            arrayObject.put("title",itemObject.getString("title"));
            //內(nèi)容
            arrayObject.put("digest",itemObject.getString("digest"));
            //時間
            arrayObject.put("mtime",itemObject.getString("mtime"));
            array.add(arrayObject);
        });
        contentObject.put("list",array);
        stringBuilder.append("(本文所有數(shù)據(jù)均來自天行數(shù)據(jù)api,如有侵權(quán),聯(lián)系即刪~)");
        //將拿到的內(nèi)容放在Markdown中
        String newContent = stringBuilder.toString();
        MutableDataSet options = new MutableDataSet();
        String markdown = FlexmarkHtmlConverter
                .builder(options)
                .build()
                .convert(newContent)
                .replace("lang-java","java");
        //構(gòu)建文章的實體
        BlogArticle entity = BlogArticle.builder()
                .userId(7L)
                .contentMd(markdown)
                .categoryId(DAYYS_NEWS)
                .isOriginal(YesOrNoEnum.NO.getCode())
                //轉(zhuǎn)載地址
                .originalUrl("https://www.tianapi.com/")
                .isPublish(1)
                .keywords("每日新聞,穆雄雄,新聞簡報,早安")
                .title(todayDate+"新聞簡要")
                .avatar(imgUrl.toString())
                .content(newContent)
                .build();
        baseMapper.insert(entity);
        //添加標簽
        tagsMapper.saveArticleTags(entity.getId(),new ArrayList<Long>() {{add(63L);}});
        log.info("每日新聞添加到文章成功:"+ JSON.toJSONString(entity));
        contentObject.put("aid",entity.getId());
        //調(diào)用推送到微信的方法
        sendWechat(contentObject);
        return ResponseResult.success("發(fā)送成功");
    }

需要注冊的是:記得吧DAYS_NEWS_API 和 TIAN_KEY的值換一下,換成你自己的,然后生成的文章如下所示:

到此這篇關(guān)于Java實現(xiàn)將每日新聞添加到自己博客中的文章就介紹到這了,更多相關(guān)Java添加新聞到博客內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • spring security登錄認證授權(quán)的項目實踐

    spring security登錄認證授權(quán)的項目實踐

    SpringSecurity主要實現(xiàn)了認證(Authentication)和授權(quán)(AccessControl),本文就來介紹一下spring security登錄認證授權(quán)的項目實踐,感興趣的可以了解一下
    2025-01-01
  • JavaSE實現(xiàn)電影院系統(tǒng)

    JavaSE實現(xiàn)電影院系統(tǒng)

    這篇文章主要為大家詳細介紹了JavaSE實現(xiàn)電影院系統(tǒng),文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-08-08
  • Java利用Redis實現(xiàn)高并發(fā)計數(shù)器的示例代碼

    Java利用Redis實現(xiàn)高并發(fā)計數(shù)器的示例代碼

    這篇文章主要介紹了Java利用Redis實現(xiàn)高并發(fā)計數(shù)器的示例代碼,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2021-02-02
  • Java游戲開發(fā)之俄羅斯方塊的實現(xiàn)

    Java游戲開發(fā)之俄羅斯方塊的實現(xiàn)

    俄羅斯方塊是一個最初由阿列克謝帕吉特諾夫在蘇聯(lián)設(shè)計和編程的益智類視頻游戲。本文和大家分享了利用Java語言實現(xiàn)這一經(jīng)典的小游戲的示例代碼,需要的可以參考一下
    2022-05-05
  • Java中Arraylist的最大長度

    Java中Arraylist的最大長度

    這篇文章主要介紹了Java中Arraylist的最大長度,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-02-02
  • springboot+vue實現(xiàn)七牛云頭像的上傳

    springboot+vue實現(xiàn)七牛云頭像的上傳

    本文將介紹如何在Spring Boot項目中利用七牛云進行圖片上傳并將圖片存儲在云存儲中,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2023-08-08
  • javaWeb如何實現(xiàn)隨機圖片驗證碼詳解

    javaWeb如何實現(xiàn)隨機圖片驗證碼詳解

    這篇文章主要給大家介紹了關(guān)于javaWeb如何實現(xiàn)隨機圖片驗證碼的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2021-03-03
  • JAVA基于Redis實現(xiàn)計數(shù)器限流的使用示例

    JAVA基于Redis實現(xiàn)計數(shù)器限流的使用示例

    計數(shù)器法是限流算法里最簡單也是最容易實現(xiàn)的一種算法,本文主要介紹了JAVA基于Redis實現(xiàn)計數(shù)器限流的使用示例,具有一定的參考價值,感興趣的可以了解一下
    2023-09-09
  • 淺談Java 將圖片打包到j(luò)ar中的路徑問題

    淺談Java 將圖片打包到j(luò)ar中的路徑問題

    下面小編就為大家分享一篇淺談Java 將圖片打包到j(luò)ar中的路徑問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-02-02
  • SpringBoot配置類中@Configuration和@Bean的作用

    SpringBoot配置類中@Configuration和@Bean的作用

    這篇文章主要介紹了SpringBoot配置類中@Configuration和@Bean的作用,@Configuration 指明當前類是一個配置類來替代之前的Spring配置文件,Spring boot的配置類,相當于Spring的配置文件,需要的朋友可以參考下
    2023-11-11

最新評論

巧家县| 霍邱县| 宁陕县| 类乌齐县| 新津县| 盐山县| 辽宁省| 郧西县| 遂宁市| 山阴县| 政和县| 内黄县| 太和县| 康平县| 建水县| 长阳| 河间市| 肇州县| 左权县| 什邡市| 阳江市| 调兵山市| 牟定县| 莱州市| 镇安县| 大丰市| 天全县| 嘉定区| 阳东县| 沙湾县| 江陵县| 道孚县| 安图县| 江陵县| 古蔺县| 玉屏| 厦门市| 禄丰县| 湾仔区| 新建县| 衡阳市|