2017-06-13 55 views
0

我想知道如何從各種不同的html頁面中提取大膽的內容,並且不需要所有html頁面都使用,可以說「b」標籤或「font-weight:bold」。 我想知道是否有任何通用的方式來查找大膽的內容或有一個大膽的html表達式的詳盡列表。同樣,我想在內容大小上尋找相同的內容。如何使用jsoup從不同類型的大膽html表達式的各種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")); 

}} 

回答

0

要通過樣式標籤搜索:

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

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

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 strongTags = doc.getElementsByTag("strong"); 

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

希望這是你正在尋找。

+0

這些是表達大膽內容的唯一方式嗎?還是有更多表達方式?我的想法更多的是理解窮舉的方式,大膽的內容可以在html中表達出來(其中你表達了三種不同的方式),以便我可以編寫一個邏輯來包含所有這些方法。 –

+0

我不知道任何其他HTML方法,但我的知識相當有限。它也可以通過CSS來設計。 – Ricardo