package com.yunyan.business.utils;

import com.yunyan.common.utils.StringUtils;
import com.yunyan.common.utils.http.HttpUtils;
import lombok.extern.slf4j.Slf4j;
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;

@Slf4j
public class CrawlWebDateUtils {

    public static void main(String[] args) {
        //http://www.baise.gov.cn/zwgk/jcxxgk/czyjs/bmjs/t13138364.shtml
        //String result = getDate("http://www.gxtd.gov.cn/xxgk/zfxxgkzl/fdzdgknr/zdlyxxgk/czxx/bmjs/bmjs2023/t17725116.shtml");
        //String result = getDate("http://www.baise.gov.cn/zwgk/jcxxgk/czyjs/bmjs/t13138364.shtml");
        //String result = getArticleTitleH1("http://www.guiping.gov.cn/xxgk/gpsczyjsgkpt/gpbmys/gpbmys2024/t18171897.shtml");
        String result = getArticleTitle2023BaiseFinalNewsTitle("http://www.gxbsrd.gov.cn/html/news-view-216955.html");
        log.debug("result [{}]", result);
    }

    /**
     * 获取 web的 日期
     * @param url 示例 String url = "http://www.baise.gov.cn/zwgk/jcxxgk/czyjs/bmjs/t13138364.shtml"; // 替换为要获取日期的网站URL
     * @return
     */
    public static String getDate(String url) {
        String value = "";
        String html = "";
        try {
            html = HttpUtils.sendGet(url);
        } catch (Exception e) {
            log.error("查询网页错误~ [{}] - [{}]", e.getMessage(), e);
        }
        if(StringUtils.isBlank(html)) {
            return "";
        }

        Document doc = Jsoup.parse(html);
        Element span = doc.selectFirst("div.article-inf-left");
        if (span != null) {
            value = span.text();
            log.debug("value值：" + value);
            if(StringUtils.isNotBlank(value) && value.length() > 16) {
                value = value.substring(0, 16);
            }
        } else {
            log.debug("未找到对应的元素");
        }
        return value;
    }

    //判断 = 2024年度部门预算
    //<h1>中国共产党桂平市委员会办公室2024年部门预算及“三公”经费 预算编制说明</h1>
    public static String getArticleTitleH1(String url) {
        String value = "";
        String html = "";
        try {
            html = HttpUtils.sendGet(url);
        } catch (Exception e) {
            log.error("查询网页错误~ [{}] - [{}]", e.getMessage(), e);
        }
        if(StringUtils.isBlank(html)) {
            return "";
        }

        Document doc = Jsoup.parse(html);
        Element span = doc.selectFirst("div.article h1");
        if (span != null) {
            value = span.text();
            log.debug("value值：" + value);
            /*if(StringUtils.isNotBlank(value) && value.length() > 16) {
                value = value.substring(0, 16);
            }*/
        } else {
            log.debug("未找到对应的元素");
        }
        return value;
    }

    /**
     *
     * 2023 年 百色市的决算
     * @param url
     * @return
     */
    public static String getArticleTitle2023BaiseFinalNewsTitle(String url) {
        String value = "";
        String html = "";
        try {
            html = HttpUtils.sendGet(url);
        } catch (Exception e) {
            log.error("查询网页错误~ [{}] - [{}]", e.getMessage(), e);
        }
        if(StringUtils.isBlank(html)) {
            return "";
        }

        Document doc = Jsoup.parse(html);
        Element span = doc.selectFirst("div.newsView  div.newsTitle");
        if (span != null) {
            value = span.text();
            log.debug("value值：" + value);
            /*if(StringUtils.isNotBlank(value) && value.length() > 16) {
                value = value.substring(0, 16);
            }*/
        } else {
            log.debug("未找到对应的元素");
        }
        return value;
    }

}
