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

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

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

    泰仔在線

    java學習,心情日記,繽紛時刻
    posts - 100, comments - 34, trackbacks - 0, articles - 0

    Nutch中的html頁面的解析問題

    Posted on 2010-04-23 17:38 泰仔在線 閱讀(3074) 評論(1)  編輯  收藏 所屬分類: 云計算相關

    今天主要研究了Nutch中的html頁面的解析問題,因為我的任務是從頁面中提取特定的文本,因此首先要找到Nutch如何將html中的文本提取出來。Nutch提供了兩種html解析器,nekohtml和tagsoup,我采用了neko的解析器,在看了代碼后,發現其提取文本的方法在org.apache.nutch.parse.html中的DOMContentUtils文件中,主要的函數是getTextHelper。下面做一下解釋。

    private boolean getTextHelper(StringBuffer sb, Node node,
                                                 boolean abortOnNestedAnchors,
                                                 int anchorDepth) {
        boolean abort = false;
        NodeWalker walker = new NodeWalker(node);// NodeWalk類用來非遞歸遍歷DOM樹節點
        int myint=1;
       
        while (walker.hasNext()){ //如果存在節點
       
          Node currentNode = walker.nextNode();//獲取下一個節點
          String nodeName = currentNode.getNodeName();//獲取節點名
          short nodeType = currentNode.getNodeType();//節點類型
          
          if ("script".equalsIgnoreCase(nodeName)) {//不處理腳本
            walker.skipChildren();
          }
          if ("style".equalsIgnoreCase(nodeName)) {//不處理style
            walker.skipChildren();
          }
          if (abortOnNestedAnchors && "a".equalsIgnoreCase(nodeName)) {//檢測是否嵌套
            anchorDepth++;
            if (anchorDepth > 1) {
              abort = true;
              break;
            }       
          }
          if (nodeType == Node.COMMENT_NODE) {//不處理注釋
            walker.skipChildren();
          }
          if (nodeType == Node.TEXT_NODE) {
            // cleanup and trim the value
            String text = currentNode.getNodeValue();//獲取文本內容
            text = text.replaceAll("\\s+", " ");//消除所有空格和轉行等字符
       text = text.trim();
            if (text.length() > 0) {
              if (sb.length() > 0) sb.append(' ');
             sb.append(text);
            }
          }
        }
    }

    調用這個函數的類是htmlParser類,如果想自己寫一個提取文本的函數,可以做相應修改。

    轉自:實習日記(六)

    Feedback

    # re: Nutch中的html頁面的解析問題  回復  更多評論   

    2013-03-19 16:53 by gongshijun
    怎樣改啊,nutch1.6都沒有你說的那些東西,找不到啊
    主站蜘蛛池模板: 日韩毛片无码永久免费看| 亚洲免费闲人蜜桃| 国产一级高清免费观看| 中文有码亚洲制服av片| 在线观看无码AV网站永久免费| 亚洲剧场午夜在线观看| 成年在线观看网站免费| 亚洲中文字幕无码中文字| 午夜免费福利在线观看| 无码天堂亚洲国产AV| 亚洲第一页日韩专区| 精品一区二区三区高清免费观看| 国产亚洲精品看片在线观看| 中文字幕看片在线a免费| 亚洲成色www久久网站夜月| 91老湿机福利免费体验| 亚洲AV无码专区在线亚| 国产成人aaa在线视频免费观看 | 亚洲高清免费在线观看| 国产精品免费精品自在线观看| 亚洲人成免费电影| 可以免费观看的一级毛片| 91av免费在线视频| 亚洲成年轻人电影网站www | 日韩在线视频播放免费视频完整版| 亚洲欧洲自拍拍偷精品 美利坚 | 歪歪漫画在线观看官网免费阅读 | 东方aⅴ免费观看久久av| 亚洲AV无码欧洲AV无码网站| 麻豆国产精品免费视频| 亚洲AV无码一区二区乱子仑| 亚洲中文字幕无码久久精品1 | 亚洲另类春色国产精品| 国产又黄又爽又刺激的免费网址| 中国一级特黄的片子免费| 777亚洲精品乱码久久久久久| 日韩免费毛片视频| 精品免费tv久久久久久久| 国产午夜亚洲精品国产| 亚洲午夜久久久影院| 成年女性特黄午夜视频免费看|