0

Jericho を使用して Html を解析しています。2 つの特定のテキストの間でデータを抽出する必要がある html ページがあります。

  <table width="100%" align="left">
        <tr><td>
             <b>  Item 7. </b>
        </td></tr>
    </table>
    ...........other data...........
other tags    
<table width="100%" align="left">
        <tr><td>
             <b>  fd ..fds   </b>
        </td></tr>
    </table>

    ...........other data ends...........

    <table width="100%" align="left">
        <tr><td>
             <b>  Item 8. </b>
        </td></tr>
    </table>

アイテム 7.アイテム 8.の間のデータを jercio を使用して抽出するにはどうすればよいですか。

前もって感謝します

4

1 に答える 1

0

私の場合、「項目 7」と「項目 8」は「太字」の中に表示され、その後に続きます。

要素のリストを繰り返しました。私のコード

for (Element allElement : allElements) {

            if(strtInd==false){
            if((allElement.getStartTag().toString().toLowerCase()).startsWith(("<table").toLowerCase())){

                List<Element> boldElem = allElement.getAllElements(HTMLElementName.B);

                if(null !=boldElem && boldElem.size()>0){
                    Element e1 =  boldElem.get(0);
                    if(null != e1&& (e1.getTextExtractor().toString().toLowerCase()).startsWith(("Item 7.").toLowerCase())){
                        prevElement = allElement;
                        strtInd = true;
                    }
                }

            }
            }else{

                if((allElement.getStartTag().toString().toLowerCase()).startsWith(("<table").toLowerCase())){

                    List<Element> boldElem = allElement.getAllElements(HTMLElementName.B);

                    if(null !=boldElem && boldElem.size()>0){
                        Element e1 =  boldElem.get(0);
                        if(null != e1&& (e1.getTextExtractor().toString().toLowerCase()).startsWith(("Item 8.").toLowerCase())){
                            System.out.println(e1.getTextExtractor().toString());
                            strtInd = false;
                            break;
                        }
                    }

                }
                    sBuff.append(allElement.getFirstElement());
                    prevElement =allElement;
                    System.out.println(allElement);
            }


        }
于 2013-04-29T06:36:53.103 に答える