一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導(dǎo)航

PHP教程|ASP.NET教程|JAVA教程|ASP教程|

服務(wù)器之家 - 編程語(yǔ)言 - JAVA教程 - java使用htmlparser提取網(wǎng)頁(yè)純文本例子

java使用htmlparser提取網(wǎng)頁(yè)純文本例子

2019-11-19 14:19Java教程網(wǎng) JAVA教程

這篇文章主要介紹了java使用htmlparser提取網(wǎng)頁(yè)純文本例子,需要的朋友可以參考下

代碼如下:


package com.test;

 

import org.htmlparser.Node;
import org.htmlparser.NodeFilter;
import org.htmlparser.Parser;
import org.htmlparser.filters.TagNameFilter;
import org.htmlparser.tags.TableTag;
import org.htmlparser.util.NodeList;

/**
* 標(biāo)題:利用htmlparser提取網(wǎng)頁(yè)純文本的例子
*/
public class TestHTMLParser {
  public static void testHtml() {
    try {
        String sCurrentLine;
        String sTotalString;
        sCurrentLine = "";
        sTotalString = "";
        java.io.InputStream l_urlStream;
        java.net.URL l_url = new java.net.URL("http://www.ideagrace.com/html/doc/2006/07/04/00929.html");
        java.net.HttpURLConnection l_connection = (java.net.HttpURLConnection) l_url.openConnection();
        l_connection.connect();
        l_urlStream = l_connection.getInputStream();
        java.io.BufferedReader l_reader = new java.io.BufferedReader(new java.io.InputStreamReader(l_urlStream));
        while ((sCurrentLine = l_reader.readLine()) != null) {
          sTotalString += sCurrentLine+"/r/n";
        //  System.out.println(sTotalString);
        }
        String testText = extractText(sTotalString);
        System.out.println( testText );

    } catch (Exception e) {
        e.printStackTrace();
    }

  }

  public static String extractText(String inputHtml) throws Exception {
    StringBuffer text = new StringBuffer();
    Parser parser = Parser.createParser(new String(inputHtml.getBytes(),"GBK"), "GBK");
    // 遍歷所有的節(jié)點(diǎn)
    NodeList nodes = parser.extractAllNodesThatMatch(new NodeFilter() {
        public boolean accept(Node node) {
          return true;
        }
    });

    System.out.println(nodes.size()); //打印節(jié)點(diǎn)的數(shù)量
    for (int i=0;i<nodes.size();i++){
         Node nodet = nodes.elementAt(i);
         //System.out.println(nodet.getText()); 
        text.append(new String(nodet.toPlainTextString().getBytes("GBK"))+"/r/n");          
    }
    return text.toString();
  }

  public static void test5(String resource) throws Exception {
    Parser myParser = new Parser(resource);
    myParser.setEncoding("GBK");
    String filterStr = "table";
    NodeFilter filter = new TagNameFilter(filterStr);
    NodeList nodeList = myParser.extractAllNodesThatMatch(filter);
    TableTag tabletag = (TableTag) nodeList.elementAt(11);

  }

  public static void main(String[] args) throws Exception {
    // test5("http://www.google.com");
    testHtml();
  }
}

 

 

延伸 · 閱讀

精彩推薦
  • JAVA教程Java for循環(huán)詳解

    Java for循環(huán)詳解

    這篇文章主要介紹了Java for循環(huán)方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)...

    東邊的雨田3482019-06-23
  • JAVA教程通過(guò)代碼快速理解Java的三種代理模式

    通過(guò)代碼快速理解Java的三種代理模式

    這篇文章主要介紹了通過(guò)代碼快速理解Java的三種代理模式,代理(Proxy)是一種設(shè)計(jì)模式,提供了對(duì)目標(biāo)對(duì)象另外的訪問(wèn)方式,即通過(guò)代理對(duì)象訪問(wèn)目標(biāo)對(duì)象。...

    mseddl2832019-06-29
  • JAVA教程java的arrays數(shù)組排序示例分享

    java的arrays數(shù)組排序示例分享

    排序算法,基本的高級(jí)語(yǔ)言都有一些提供。C語(yǔ)言有qsort()函數(shù),C++有sort()函數(shù),java語(yǔ)言有Arrays類(不是Array)。用這些排序時(shí),都可以寫自己的排序規(guī)則 ...

    java教程網(wǎng)4072019-11-11
  • JAVA教程java實(shí)現(xiàn)策略模式使用示例

    java實(shí)現(xiàn)策略模式使用示例

    在使用圖像處理軟件處理圖片后,需要選擇一種格式進(jìn)行保存。然而各種格式在底層實(shí)現(xiàn)的算法并不相同,這剛好適合策略模式。編寫程序,演示如何使用...

    java教程網(wǎng)1342019-11-08
  • JAVA教程grails不能運(yùn)行fork模式解決方法

    grails不能運(yùn)行fork模式解決方法

    這篇文章主要介紹了如何解決grails2.3.2中不能運(yùn)行fork模式的異常,大家參考使用吧 ...

    java技術(shù)網(wǎng)1382019-10-21
  • JAVA教程Logger.getLogger()與LogFactory.getLog()的區(qū)別詳解

    Logger.getLogger()與LogFactory.getLog()的區(qū)別詳解

    LogFactory來(lái)自common-logging包。如果用LogFactory.getLog,你可以用任何實(shí)現(xiàn)了通用日志接口的日志記錄器替換log4j,而程序不受影響 ...

    java教程網(wǎng)2412019-10-14
  • JAVA教程eclipse怎么引入spring boot項(xiàng)目插件的方法

    eclipse怎么引入spring boot項(xiàng)目插件的方法

    這篇文章主要介紹了eclipse怎么引入spring boot項(xiàng)目插件的方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的...

    莫采4082019-07-08
  • JAVA教程簡(jiǎn)單的java讀取文件示例分享

    簡(jiǎn)單的java讀取文件示例分享

    這篇文章主要介紹了java讀取txt文件內(nèi)容,示例很簡(jiǎn)單,代碼里有注釋,大家直接看代碼吧 ...

    java教程網(wǎng)2532019-11-03
主站蜘蛛池模板: 色老板免费在线观看 | 538亚洲欧美国产日韩在线精品 | 青青草国产一区二区三区 | 国产精品视频第一区二区三区 | 亚洲国产麻豆 | 国产在线精品亚洲第一区香蕉 | 久久囯产精品777蜜桃传媒 | 福利色播 | 国产在线乱子伦一区二区 | 高清在线观看免费入口 | 精品无码久久久久久久久 | 万域之王在线观看 | 好男人资源免费观看 | 国产区香蕉精品系列在线观看不卡 | 精品免费 | 日韩在线视频在线 | www.午夜剧场| 黑人巨大videosjapan高清 黑人好大 | 喜马拉雅听书免费版 | 18欧美同性videos可播放 | 韩国三级在线观看 完整版 韩国三级视频网站 | 邪恶肉肉全彩色无遮盖 | 99er在线观看| 性色视频免费 | 911精品国产亚洲日本美国韩国 | 日本视频在线观看播放 | 楚乔传第二部免费播放电视连续剧 | 视频一区国产精戏刘婷 | eeuss免费快捷 | 国产精品永久免费视频观看 | 国产精品久久久久jk制服 | 国产精品伊人 | 第一次做m被调教经历 | 91天堂国产在线 在线播放 | 四虎麻豆国产精品 | 男女精品视频 | 白丝校花好湿好紧 | 久久久久久久国产精品视频 | 潘甜甜在线观看 | 调教女高中生第3部分 | 四虎在线永久免费视频网站 |