카테고리

  • 안드로이드
  • IOS
  • MFC
  • JAVA
  • AWS
  • LAMP
  • 여행&사진
  • 이런저런생활
  • 레이블이 JAVA인 게시물을 표시합니다. 모든 게시물 표시
    레이블이 JAVA인 게시물을 표시합니다. 모든 게시물 표시

    2017년 1월 22일 일요일

    [JAVA] Jsoup를 이용한 파싱

    import java.io.IOException;
    import java.io.InputStreamReader;
    import java.io.Reader;
    import java.io.StringWriter;
    import java.net.URL;
    import java.net.URLConnection;

    //import javax.lang.model.element.Element;
    import javax.swing.text.BadLocationException;
    //import javax.swing.text.Document;
    import javax.swing.text.EditorKit;
    import javax.swing.text.html.HTMLEditorKit;

    import org.jsoup.Jsoup;
    import org.jsoup.nodes.Document;
    import org.jsoup.nodes.Element;
    import org.jsoup.select.Elements;

    //import org.w3c.dom.Document;

    public class Parsing_Main {
    public static void main(String args[]) throws IOException {

    URL url = new URL("http://battlecats.spica-net.com/unit/r_all.html");
    Document doc = Jsoup.parse(url, 3000);
    //http://stackoverflow.com/questions/28696586/jsoup-how-to-parse-table-3-rows
    // Elements tables = doc.select("table .bgc12"); // Table IDで取得
    // Elements tables = doc.select("table tr[class*=bgc12]"); // Table trで取得
    Elements tables = doc.select("table tbody"); // Table IDで取得
    // Elements tables = doc.select("div .maincontents");
    String str = tables.toString();

    System.out.println(str);
    }
    }

    2016년 11월 18일 금요일

    [JAVA]Web파싱_HTML태그까지 취득

    웹 페이지의 내용 파싱 관련 소스

    import java.io.IOException;
    import java.io.InputStreamReader;
    import java.io.Reader;
    import java.io.StringWriter;
    import java.net.URL;
    import java.net.URLConnection;

    import javax.swing.text.BadLocationException;
    import javax.swing.text.Document;
    import javax.swing.text.EditorKit;
    import javax.swing.text.html.HTMLEditorKit;

    public class Parsing_Main {
    public static void main(String args[]) throws IOException {
    EditorKit kit = new HTMLEditorKit();
            Document doc = kit.createDefaultDocument();
            
            doc.putProperty("IgnoreCharsetDirective", Boolean.TRUE);
            
            URLConnection conn = new URL("파싱웹주소").openConnection();
            
            Reader rd = new InputStreamReader(conn.getInputStream());
            String str = "";
            
            try {
                            /* doc에 웹 내용을 저장(html태그는 자동 삭제되어 저장 */
    kit.read(rd, doc, 0);
    // str = doc.getText(0, doc.getLength());
    } catch (BadLocationException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    }
            
            StringWriter writer = new StringWriter();
            String str2 = "";
            try {
                            /* doc에 저장된 내용을 html태그를 붙여서 writer에 저장 */
    kit.write(writer, doc, 0, doc.getLength());
    str2 = writer.toString();
    } catch (BadLocationException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    }
            
            
            System.out.println(str2);

    }

    }

    2015년 12월 14일 월요일

    [JAVA]히라가나 카타가나 변환알고리즘

    출처 : http://java.akjava.com/library/kanagana

    public class Hiragana {
    public static final char KATAKANA_SMALL_A=12449;
    public static final char KATAKANA_NN=12531;

    public static final char HIRAGANA_SMALL_A=12353;
    public static final char HIRAGANA_NN=12531;

    public static String kanaToGana(String s) {
      StringBuffer sb = new StringBuffer(s);
      for (int i = 0; i < sb.length(); i++) {
          char c = sb.charAt(i);
          if (c >= KATAKANA_SMALL_A && c <= KATAKANA_NN) {
            sb.setCharAt(i, (char)(c - KATAKANA_SMALL_A +HIRAGANA_SMALL_A));
          }
      }
      return sb.toString();  
    }

    public static String ganaToKana(String s) {
       StringBuffer sb = new StringBuffer(s);
       for (int i = 0; i < sb.length(); i++) {
           char c = sb.charAt(i);
           if (c >= HIRAGANA_SMALL_A && c <= HIRAGANA_NN) {
             sb.setCharAt(i, (char)(c - HIRAGANA_SMALL_A + KATAKANA_SMALL_A));
           }
       }
       return sb.toString();  
     }

    public static void main(String[] args){
    String kana = "かな";
    String gana = "カナ";

    // String ret = kanaToGana(gana);
    String ret = ganaToKana(kana);

    System.out.println(ret);
    }
    }

    위의 알고리즘으로 히라가나, 카타가나 변환이 간단히 됨.