2010-01-14 2 views
0

웹 페이지 (URL이 명령 줄 인수로 제공됨)를 열고 해당 웹 페이지의 내용을 .txt 파일로 저장하려고합니다.Internet Explorer (Internet Explorer)에서 "다른 이름으로 저장"을 자동으로 수행하는 방법은 무엇입니까?

기억해야 할 점은 웹 페이지의 원본이 아니라 .txt 파일이 필요하다는 것입니다.

셀레늄으로 손을 사용해 봤는데 정상적으로 작동합니다. 하지만 지금은 실제 브라우저를 열지 않는 무언가가 브라우저를 열고 페이지를로드하는 데 시간이 많이 소요됩니다.

자바에서하고 싶습니다.

콘텐츠 란 "다른 이름으로 저장"으로 이동 한 다음 파일의 출력 형식으로 ".txt"를 선택하여 IE에서 웹 페이지를 저장할 때 얻을 수있는 텍스트 (마크 업 없음)를 의미합니다.

+0

'콘텐츠'는 무엇을 의미합니까? HTML 태그를 제거하거나 HTML 파일을 .txt 파일로 저장 하시겠습니까? – Earlz

답변

3

질문을 올바르게 이해하면 탐색기를 사용하지 않고 페이지를 렌더링하고 렌더링 된 텍스트를 복사하려고합니다.

이 경우 헤드리스 브라우저가 필요합니다. HTMLUnit은 좋은 선택 일 것입니다.

텍스트 콘텐츠를하려면 (테스트하지)과 같이 그것을 할 수 :

WebClient c = new WebClient(BrowserVersion.INTERNET_EXPLORER_6); 
TextPage tp = c.getPage("yoururl"); 
String content = tp.getContent(); 

+0

예, 내 질문을 올바르게 이해했습니다. HTMLUnit에서 제공하는 헤드리스 브라우저에서 웹 페이지를 열었습니다. 하지만 지금은 원하는 파일을 출력하기 위해 HtmlPage를 저장하는 방법을 모르겠습니다. –

+0

몇 가지 예제 코드를 추가했습니다. –

+0

예, 본적이 있습니다. 그것은 몇 가지 예외를 던지고 원인을 찾으려고 노력 중입니다 ... 고마워요. –

-1

흠 (Javadoc 참조), 심지어 코드를 처음부터, 보이지 않는 거라고 복잡한 일이 같은 및 프로젝트에 다른 라이브러리에 대한 종속성을 추가하는 경우에도 가치가되지 않을 수 있습니다

  • 를 열고 해당 URL에 대한 URLConnection의
  • 연결에서 스트림을 가져오고 regex를 적용하여 모든 HTML을 데이터로 제거합니다. 페이지가 메모리 요구 사항에 비해 너무 크지 않을 것으로 예상되면 :) 페이지를 문자열로 읽은 다음 정규식을 적용하십시오. 또는, here (나는 거기에 설명 된 방법에 대한 경험이 없다)에 설명 된 것을 촬영하십시오.
  • 출력을 txt에 저장하십시오.
관련 문제