当前位置 : 主页 > 编程语言 > c++ >

使用 JSoup 和 diffator 计算两段 HTML 的相似度

来源:互联网 收集:自由互联 发布时间:2021-07-03
gistfile1.txt /** * 从一段HTML中萃取纯文本 * @param html * @return */public static String getPlainText(String html){ if(StringUtils.isBlank(html)) return ""; Element ebody = Jsoup.parseBodyFragment(html).body(); ebody.select("code"
gistfile1.txt
/**
 * 从一段HTML中萃取纯文本
 * @param html
 * @return
 */
public static String getPlainText(String html){
    if(StringUtils.isBlank(html)) return "";
    Element ebody = Jsoup.parseBodyFragment(html).body();
    ebody.select("code").remove();
    ebody.select("pre").remove();
    ebody.select("img").remove();
    return ebody.text();
}

/**
 * 计算两篇内容的相似度
 * @param html1
 * @param html2
 * @return
 * @throws IOException 
 */
public static double similarity(String html1, String html2) throws IOException {
    String text1 = getPlainText(html1);
    String text2 = getPlainText(html2);
    Content ct1 = new Content(tokenizer(text1));
    Content ct2 = new Content(tokenizer(text2));
    return ContentComparator.compareStatic(ct1, ct2);
}
网友评论