<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    posts - 33,  comments - 70,  trackbacks - 0
    HTMLParser 1.6

    /*
    html : html內(nèi)容
    identifier: 搜索標(biāo)識(shí)
    */

    private?Object[]?extractText(String?html,?String?identifier)
    ????????????
    throws?Exception?{
    ????????List
    <String>?resultTextList?=?new?ArrayList<String>();

    ????????Parser?parser?
    =?new?Parser();
    ????????parser.setInputHTML(html);

    ????????NodeFilter?filter?
    =?new?HasAttributeFilter("class",?identifier);
    ?/* NodeFilter?filter 就是要解析的過濾器,實(shí)現(xiàn)有好多種,我采用的屬性過濾,其他more api*/

    ????????NodeList?nodeList?
    =?parser.extractAllNodesThatMatch(filter);
    /* extractAllNodesThatAre(class)已經(jīng)不被推薦使用,在1.6版本中,我感到更加體形了靈活性.更好的適用了自定義的tag */
    ????????
    if?(nodeList?==?null)
    ????????????
    return?null;
    ????????
    if(nodeList.size()?==?0)
    ????????????
    return?null;

    ????????
    //?System.out.println("start?==============?,size?=?"
    ????????
    //?+?nodeList.size());
    ????????Node[]?nodes?=?nodeList.toNodeArray();
    ????????String?line?
    =?"";
    ????????
    for?(int?i?=?0;?i?<?nodes.length;?i++)?{
    ????????????Node?node?
    =?nodes[i];???/*得到所以符合的節(jié)點(diǎn),類型化做對(duì)應(yīng)的標(biāo)簽類*/
    ????????
    if?(node?instanceof?Span)?{
    ????????????????Span?spanTag?
    =?(Span)?node;
    ????????????????line?
    =?spanTag.toPlainTextString();
    ????????????}
    ?else?if?(node?instanceof?TableColumn)?{
    ????????????????TableColumn?tableTag?
    =?(TableColumn)?node;
    ????????????????line?
    =?tableTag.toPlainTextString();
    ????????????}
    ?else?if?(node?instanceof?Div)?{
    ????????????????Div?divTag?
    =?(Div)?node;
    ????????????????line?
    =?divTag.toPlainTextString();
    ????????????}

    ????????????
    if?(StringUtil.isTrimEmpty(line)){
    ????????????????
    continue;
    ????????????}
    else{
    ????????????????resultTextList.add(line);
    ????????????}

    ????????????
    ????????}

    ????????
    return?resultTextList.toArray();
    ????}


    StringUtil 常用類
    /**
    ?????*?去掉左右空格后字符串是否為空
    ?????
    */

    ????
    public?static?boolean?isTrimEmpty(String?astr)
    ????
    {
    ????????
    if?((null?==?astr)?||?(astr.length()?==?0))
    ????????
    {
    ????????????
    return?true;
    ????????}

    ????????
    if?(isBlank(astr.trim()))
    ????????
    {
    ????????????
    return?true;
    ????????}

    ????????
    return?false;
    ????}


    ????
    /**
    ?????*?字符串是否為空:null或者長(zhǎng)度為0.
    ?????
    */

    ????
    public?static?boolean?isBlank(String?astr)
    ????
    {
    ????????
    if?((null?==?astr)?||?(astr.length()?==?0))
    ????????
    {
    ????????????
    return?true;
    ????????}

    ????????
    else
    ????????
    {
    ????????????
    return?false;
    ????????}

    ????}
    posted on 2006-05-22 17:30 地獄男爵(hellboys) 閱讀(2899) 評(píng)論(1)  編輯  收藏 所屬分類: 編程語言(c/c++ java python sql ......)

    FeedBack:
    # re: HTMLParser屬性解析
    2006-06-02 21:45 | libby
    想請(qǐng)教作者,可能是由于html的語法不規(guī)范所至,我用Htmlparser分析html文檔出現(xiàn)錯(cuò)誤,像普通的Html文檔其結(jié)束標(biāo)記如果存在重復(fù),一般不予理睬,可是在用Htmlparser其會(huì)進(jìn)行處理,往往會(huì)引起一些顯示問題.
    我想利用htmlparser分析html頁面,生成一棵樹,感覺不應(yīng)該出現(xiàn)的錯(cuò)誤卻出現(xiàn)了.
    作者可否跟俺取得聯(lián)系,我想同你討論一下.俺郵箱是:libby22@sohu.com或者M(jìn)SN:libby22@hotmail.com

    著急,謝謝!  回復(fù)  更多評(píng)論
      
    <2006年5月>
    30123456
    78910111213
    14151617181920
    21222324252627
    28293031123
    45678910

    常用鏈接

    隨筆分類

    隨筆檔案

    文章檔案

    相冊(cè)

    連接

    最新隨筆

    搜索

    •  

    最新評(píng)論

    閱讀排行榜

    評(píng)論排行榜

    主站蜘蛛池模板: 亚洲色精品vr一区二区三区| 亚洲视频在线观看免费视频| 麻豆亚洲AV成人无码久久精品| 香蕉国产在线观看免费| 久久久高清免费视频| 久久久久亚洲AV成人网人人网站| 亚洲精华国产精华精华液好用 | 91短视频在线免费观看| 亚洲日韩在线观看| 免费精品视频在线| 男女交性永久免费视频播放 | 日韩在线观看免费| 亚洲AV无码欧洲AV无码网站| 日韩在线视频线视频免费网站| 亚洲av永久无码精品秋霞电影影院| 无码人妻一区二区三区免费| 亚洲国产精品综合久久久 | 免费va在线观看| 国产天堂亚洲国产碰碰| 免费一级毛片在级播放| 免费无码成人AV在线播放不卡| 久久亚洲精品国产精品黑人| 99在线热播精品免费99热| 亚洲视频在线精品| 在线观看的免费网站| 中文字幕永久免费| 亚洲国产精品久久久久婷婷软件| 久久精品国产这里是免费| 亚洲AV日韩精品久久久久久久| 免费观看a级毛片| 在线免费观看你懂的| 国产JIZZ中国JIZZ免费看| 亚洲日产韩国一二三四区| 成人毛片手机版免费看| 337p日本欧洲亚洲大胆人人| 久久精品国产亚洲av高清漫画| 日本妇人成熟免费中文字幕| 日本免费A级毛一片| 久久久亚洲欧洲日产国码是AV| 亚洲?V无码乱码国产精品| aa毛片免费全部播放完整|