Blog Content

    티스토리 뷰

    다음 실시간 이슈 HTML 파싱하기


    안녕하세요. 오늘은 네이버 실시간 검색어 순위 HTML 파싱하기에 이어서


    다음 실시간 이슈 HTML 파싱하기를 해볼려고 합니다.


    다음 실시간 이슈가 존재하는 HTML 을 파싱해서 


    콘솔에 보여주는 간단한 프로그램을 만들어보려고 합니다.


    그럼, 시작합니다.



    - 개발 환경 : java 7

      HTML 을 파싱하기 위해서 jsoup을 이용했습니다. 



    - 라이브러리 : jsoup-1.7.2.jar



    - HTML 확인


    우선 HTML 을 확인해 보겠습니다. 


    http://www.daum.net 로 이동해서 소스보기를 해보면 아래와 같이 실시간 이슈를 


    확인해 볼 수 있습니다.




    위의 HTML 을 확인해보면 네이버 실시간 검색어를 파싱할 때보다 복잡해보이네요. 


    하지만 크게 어려울 것 같지는 않습니다.


    다음 실시간 이슈 목록이 id 가 'realTimeSearchWord' 를 가지는 ol 태그에 감싸져 있고


    각각에 검색어는 li 태그 안에 roll_text 를 클래스로 가지는 div 태그 안에 있는 내용을 이용하면 될 것 같습니다.


    그런데 rank_dummy 를 클래스로 가지는 div 태그 안에 있는 내용이 겹치는 걸 볼 수 있습니다.


    jsoup에서는 선택된 태그의 내용안에 동일한 id 가 존재할 경우 중복된 내용도 보여줍니다.


    예를 들면, rank_dummy 를 클래스로 가지는 div 태그를 포함시켜서 검색어를 출력할 경우


    결과는 '장민석'을 기대했지만 '장민석 장민석' 이런 식으로 나오게 됩니다.


    그러므로 rank_dummy 를 클래스로 가지는 div 태그안에 내용은 파싱할 때 제외시키겠습니다.


    그럼 HTML 파악은 끝났으니 구현해보겠습니다.


    소스는 아래와 같습니다.



    - DaumRealTimeRanking 클래스



    roll_text 를 클래스로 가지는 div 태그 안에 내용을 가져옵니다.

    결과 화면은 아래와 같습니다.


    - 결과화면 



    참 쉽죠? ^^

    이상 jsoup 을 이용한 다음 실시간 이슈 HTML 파싱하기를 마치겠습니다.




    Comments