如何使用jsoup从不同类型的粗体html表达式的各种html页面中提取粗体内容?

时间:2017-06-13 18:31:34

标签: javascript html parsing css-selectors jsoup

我想知道如何从各种不同的html页面中提取大胆的内容,而且并非所有html页面都必须使用,我们可以说" b"标签或" font-weight:bold" 。 我想知道是否有任何通用的方法来查找粗体内容,或者是否有一个详尽的粗体html表达式列表。同样,我想在内容大小方面寻找相同的内容。

我的草稿代码如下,以防万一感兴趣

public class Main {
public static void main(String[] args) throws IOException {
    File input = new File("");
    //String headingcriteria="font[style*=font-weight:bold]";
    String headingcriteria = "b";
    Document doc = Jsoup.parse(input, "UTF-8");
    doc.select("table").remove();
    Elements boldlist = doc.select("*");
    int elementno=1;
    for (Element bold: boldlist){
        try{
            System.out.println("No: "+elementno+"    :::   Content tagname: "+bold.tagName()+"    :::   Content Size: "+
                    getElementContentSize(bold.attr("style")));
        }catch(ArrayIndexOutOfBoundsException e){
            System.out.println("No: "+elementno+"    :::   Content tagname: "+bold.tagName()+"    :::   Content Size: NANA");
        }
            elementno+=1;
    }
}
public static String getElementContentSize(String attribs){
    String temp=attribs.split("font-size:")[1];
    return temp.substring(0,temp.indexOf("pt"));

}}

1 个答案:

答案 0 :(得分:0)

搜索样式标记:

Elements divTags = doc.getElementsByTag("div");

for (Element div : divTags) {
    if (div.attr("style").equals("font-family:'Segoe UI',Arial,sans-serif")) {
        System.out.println(div.text());
    }
}

搜索b粗体标签:

Elements boldTags = doc.getElementsByTag("b");

for (Element tag : boldTags) {
    System.out.println(tag.text());
}

搜索强大的粗体标记:

Elements strongTags = doc.getElementsByTag("strong");

for (Element tag : strongTags) {
    System.out.println(tag.text());
}

希望这就是你要找的东西。