欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

 更新時(shí)間:2014年04月14日 09:59:50   作者:  
這篇文章主要介紹了java使用htmlparser提取網(wǎng)頁(yè)純文本例子,需要的朋友可以參考下

復(fù)制代碼 代碼如下:

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();
  }
}

相關(guān)文章

  • java 記錄一個(gè)子串在整串中出現(xiàn)的次數(shù)實(shí)例

    java 記錄一個(gè)子串在整串中出現(xiàn)的次數(shù)實(shí)例

    今天小編就為大家分享一篇java 記錄一個(gè)子串在整串中出現(xiàn)的次數(shù)實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-07-07
  • 詳解Java?ReentrantLock可重入,可打斷,鎖超時(shí)的實(shí)現(xiàn)原理

    詳解Java?ReentrantLock可重入,可打斷,鎖超時(shí)的實(shí)現(xiàn)原理

    前面講解了ReentrantLock加鎖和解鎖的原理實(shí)現(xiàn),但是沒(méi)有闡述它的可重入、可打斷以及超時(shí)獲取鎖失敗的原理,本文就重點(diǎn)講解這三種情況,需要的可以了解一下
    2022-10-10
  • java模擬post請(qǐng)求發(fā)送json的例子

    java模擬post請(qǐng)求發(fā)送json的例子

    本篇文章主要介紹了java模擬post請(qǐng)求發(fā)送json的例子,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-08-08
  • Spring IoC學(xué)習(xí)之ApplicationContext中refresh過(guò)程詳解

    Spring IoC學(xué)習(xí)之ApplicationContext中refresh過(guò)程詳解

    這篇文章主要給大家介紹了關(guān)于Spring IoC學(xué)習(xí)之ApplicationContext中refresh過(guò)程的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-09-09
  • 詳解Java的Spring框架下bean的自動(dòng)裝載方式

    詳解Java的Spring框架下bean的自動(dòng)裝載方式

    這篇文章主要介紹了Java的Spring框架下bean的自動(dòng)裝載方式,Spring是Java的SSH三大web開發(fā)框架之一,需要的朋友可以參考下
    2015-12-12
  • 解決FeignClient發(fā)送post請(qǐng)求異常的問(wèn)題

    解決FeignClient發(fā)送post請(qǐng)求異常的問(wèn)題

    這篇文章主要介紹了FeignClient發(fā)送post請(qǐng)求異常的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-07-07
  • Java jdk安裝及javac命令無(wú)效解決方案

    Java jdk安裝及javac命令無(wú)效解決方案

    這篇文章主要介紹了Java jdk安裝及javac命令無(wú)效解決方案,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-12-12
  • java反射獲取和調(diào)用方法

    java反射獲取和調(diào)用方法

    本篇內(nèi)容主要給大家詳細(xì)講解了java反射獲取方法以及調(diào)用方法,需要的朋友參考學(xué)習(xí)一下吧。
    2017-12-12
  • 基于Spring-cloud-gateway實(shí)現(xiàn)全局日志記錄的方法

    基于Spring-cloud-gateway實(shí)現(xiàn)全局日志記錄的方法

    最近項(xiàng)目在線上運(yùn)行出現(xiàn)了一些難以復(fù)現(xiàn)的bug需要定位相應(yīng)api的日志,通過(guò)nginx提供的api請(qǐng)求日志難以實(shí)現(xiàn),于是在gateway通過(guò)全局過(guò)濾器記錄api請(qǐng)求日志,本文給大家介紹基于Spring-cloud-gateway實(shí)現(xiàn)全局日志記錄,感興趣的朋友一起看看吧
    2023-11-11
  • 使用java判斷輸入年份是否為閏年完整代碼

    使用java判斷輸入年份是否為閏年完整代碼

    閏年的引入確保了我們的日歷與地球運(yùn)行軌道的對(duì)齊,使得時(shí)間的計(jì)算更加準(zhǔn)確,在編程中判斷給定年份是否為閏年是一項(xiàng)常見的任務(wù),這篇文章主要給大家介紹了關(guān)于使用java判斷輸入年份是否為閏年的相關(guān)資料,需要的朋友可以參考下
    2023-10-10

最新評(píng)論