[개인용 프로그램 만들기]는 다른 사용자의 사용의 편의,
효율이나 확장성, 코드의 가독성을 고려하지 않는 즉 어떻게든 일단 돌아가는
나만을 위한 프로그램 만들기 과정을 정리합니다.
왠지 구조도 정형적이고 덜 복잡할것 같아서
모바일 페이지로 파싱
id viewTypeSelector를 확인
크롬을 사용해서 파싱을 해도 되지만
여러 페이지를 돌아다니면서 하나의 텍스트 파일로 저장하는게 번거로울것 같아서
이번에는 자바를 사용해서 다운받는 프로그램을 만들기로 함
Jquery Selector와 같게 간단한 문법으로 파싱이 가능한
Jsoup을 사용하기로 정함
Jsoup의 자체 함수로 제공되는 것을 이용하여 파싱할 페이지에 접속 후
id를 사용해서 엘리먼트를 가져오고 text()로 콘솔에 찍어봄
결과물이 안보이게 처리했지만
글은 잘 뽑혀 나왔는데
줄바꾸기가 사라져서 모든 내용이 한줄이 되어버림
물론 text가 아니라 html로 찍으면 더욱 난리
해법은 언제나 구글님과 스텍오버플로우님이 알려줌
Jsoup.clean()을 사용하는 방법을 적용하였더니
줄바꿈이 잘 되었지만
들이 남아있음
깔끔하게 텍스트만 뽑혀서 나옴!
본문은 추출하는건 완성했고
이제 같은 카테고리에 있는
다음글의 주소를 알아야 하는데
화면 한쪽에 글들이 나오고 위에서 2번째 것이 다음글이 계속 오는것 같아
저 내용을 사용하기로
_relatedCategoryPostList를 찍어보았지만 아무 내용도 안나옴...
전체 html을 확인해보았더니 같은 클래스내에 다른 글 내용이 빠져있음
아마 디바이스에 따라 화면에 맞는 내용이 나오도록 되어있는것 같은데
UserAgent를 변조해서 나오면 좋지만 동적JS로 화면 사이즈 구해서 내용을 넣으면 Jsoup로 하기에 난감해보임
연관글 보기는 포기하고 블로그 내에
카테고리내의 여러글 보기를 확인해 봄
30줄 보기를 선택했을 때 호출하는 내용을 확인
Json으로 포스트들이 쭉 나옴
아쉽게도 countPerPage를 늘려봐도 30개까지만 정상적으로 응답해줌
다운받으려고 한 내용은 많지 않으므로
30개씩 수동으로 데이터를 받아옴
Json을 csv로 바꾸고...
엑셀에 옮기고 역순으로 바꾸어줌
(오래된 포스팅을 먼저 파싱하도록)
PrintWriter를 사용해서 txt파일로 저장!
원하는 형태의 텍스트 파일이 무사히 생성
'개인용 프로그램 만들기' 카테고리의 다른 글
[개인용 프로그램 만들기]사진 정리를 위해 날짜로 파일명 변경 프로그램 만들기 (0) | 2017.07.05 |
---|