2012-03-22 5 views
8

웹 페이지에서 텍스트를 읽고 싶습니다. 나는 웹 페이지의 HTML 코드를 얻고 싶지 않다. 이 코드는 다음과 같습니다.자바로 웹 페이지에서 텍스트를 읽는 방법은 무엇입니까?

try { 
     // Create a URL for the desired page 
     URL url = new URL("http://www.uefa.com/uefa/aboutuefa/organisation/congress/news/newsid=1772321.html#uefa+moving+with+tide+history");  

     // Read all the text returned by the server 
     BufferedReader in = new BufferedReader(new InputStreamReader(url.openStream())); 
     String str; 
     while ((str = in.readLine()) != null) { 
      str = in.readLine().toString(); 
      System.out.println(str); 
      // str is one line of text; readLine() strips the newline character(s) 
     } 
     in.close(); 
    } catch (MalformedURLException e) { 
    } catch (IOException e) { 
    } 

이 코드는 웹 페이지의 HTML 코드를 제공합니다. 나는이 페이지 안에 전체 텍스트를 가져 가고 싶다. Java로 어떻게 할 수 있습니까?

+1

HTML 태그의 텍스트를 구문 분석하면됩니다. 거기에서 원하는 정보를 찾고 거기에서 추출 할 수 있습니다. –

+0

DOM을위한 HTML을 찾고 있다면 http://stackoverflow.com/questions/457684/reading-html-file-to-dom-tree-using-java가 도움이 될 것입니다. –

+2

FYI - 반복마다 in.readLine()을 두 번 호출하므로 실제로는 모든 홀수 라인을 건너 뜁니다. (Java로 웹 페이지를 읽을 때 Google 검색의 첫 번째 결과 중 하나이므로이 코드의 버그를 지적해야한다고 생각했습니다.) – JPProgrammer

답변

13

당신은 이것에 대한 jsoup에보고를 할 수 있습니다 시도 할 수 있습니다 :

String html = "<p>An <a href='http://example.com/'><b>example</b></a> link.</p>"; 
Document doc = Jsoup.parse(html); 
String text = doc.body().text(); // "An example link" 

이 예는 자신의 사이트에 하나의 추출물이다.

0

현재 코드로 가져온 내용을 가져 와서 구문 분석하고 원하는 텍스트가 포함 된 태그를 찾아야합니다. 색소 파서가이 작업에 적합합니다.

원하는 텍스트가 아닌 경우 모든 태그를 제거하면 텍스트 만 남습니다. 나는 당신이 그것에 대해 정규 표현식을 사용할 수 있다고 생각한다.

4

JSoup을 사용하십시오.

CSS 스타일 선택기를 사용하여 콘텐츠를 구문 분석 할 수 있습니다.

이 예에서는

Document doc = Jsoup.connect("http://www.uefa.com/uefa/aboutuefa/organisation/congress/news/newsid=1772321.html#uefa+moving+with+tide+history").get(); 
String textContents = doc.select(".newsText").first().text(); 
0

HtmlCleaner 병도 사용할 수 있습니다. 다음은 코드입니다.

HtmlCleaner cleaner = new HtmlCleaner(); 
TagNode node = cleaner.clean(url); 

System.out.println(node.getText().toString()); 
관련 문제