2017-03-29 5 views
2

나는 HTML 마크 업을 무시하고 하나 개의 텍스트 문서에 웹 페이지에서 읽을 수있는 모든 단어를 저장하려고 같은 jsoup 문서를 저장하는 방법. JSoup을 사용하여 웹 페이지의 모든 단어를 구문 분석하면 코드에서 실제 단어를 분리하는 방법은 요소를 통해 수행됩니다.텍스트 파일

는 텍스트 파일에 jsoup 문서의 여러 요소를 변환 할 수 있습니까?

은 즉 :

 Elements titles = doc.select("title"); 
     Elements paragraphs = doc.select("p"); 
     Elements links = doc.select("a[href]"); 
     Elements smallText = doc.select("a"); 

현재와 문서로 구문 분석을 저장 : 내가 위에서 언급 할 수없는이기 때문에 대답을 추가

Document doc = Jsoup.connect("https:// (enter a url)").get(); 
+0

은 그냥 파일을 생성하고,이 파일에 쓰기 ??? – Dummy

+0

죄송합니다, 저는 Java를 처음 사용하고 있으며 여전히 문제를 파악하려고합니다. 당신에게 저에게 어떻게하는지 가르쳐 줄 샘플 코드 나 레퍼런스를 보여줄 수 있습니까? – ary

+0

여기 – Dummy

답변

1

그것의 간단한 방법

Document doc = Jsoup.connect("https:// (enter a url)").get(); 
     BufferedWriter writer = null; 
     try 
     { 
      writer = new BufferedWriter(new FileWriter("d://test.txt")); 
      writer.write(doc.toString()); 

     } 
     catch (IOException e) 
     { 
     } 
+0

감사합니다. 나는 이것을 테스트하고 작동한다. 그래도 특정 요소 만 파일 작성자에게 저장하겠습니까? 예가 현재 주 게시물에 있습니다. – ary

+0

그래서 모든 것을 하나씩 파일에 저장하고 싶습니까? – soorapadman

+0

html 마크 업을 무시하면서 웹 페이지의 모든 읽을 수있는 단어를 하나의 텍스트 문서로 저장하려고합니다. 그 요소가 무엇인지, 읽을 수있는 단어 만 선택하는 것입니다. – ary

-1

.

는 위의 코드에 writer.write(doc.select("html").text());에 의해 writer.write(doc.toString());를 교체합니다.

그것은 당신에게 페이지의 텍스트를 제공 할 것입니다.

"html" 대신 doc.select("**html**").text()에 다른 태그를 사용하여 해당 태그로 묶인 텍스트를 추출 할 수 있습니다.

편집 : 당신은 또한 writer.write(doc.text());와 텍스트에이 문제가 해결됩니다 writer.close();이를 작성할 필요가 바로 다음 라인을 작성 후 writer.write(doc.body().text());

+0

시도했을 때 빈 텍스트 파일 만 저장했습니다. – ary

+0

이것은 모든 HTML 마크 업과 함께 구문 분석합니다. 동봉 된 태그 을 제외하지 않습니다. 어떻게 실제 단어 만 추출 할 수 있습니까? – ary

+0

'doc.select ("html"). toString()을 사용하면 웹 요소가 String으로 반환됩니다. 태그는 여기에서 제외되지 않습니다. html 문서 (wep 페이지)의 루트 태그이므로''html ''태그를 제안합니다. 'doc.select ("html") .text()'가 당신을 위해 작동하지 않는다면 (그래야 함) 끝날 때 .text()를 사용할 때마다'doc.body(). text()' –

-1

를 사용할 수 있습니다.

+0

새 답변으로 덧글을 추가하는 대신 다른 답변을 수정하여 제안하십시오. – andrewdotn