본문 바로가기
Programming/C#

html 파싱하기

by 유주원 2014. 9. 15.

python 처럼 C#도 beautifulsoup4 같은 화려하고 강력한 기능이 있나 싶어서 열씸히 구글링을 해보았는데, bs4만큼 편리하지는 않지만 C# 개발자들이 가장 많이 사용한다는 라이브러리 발견!


해당 라이브러리 가기(HtmlAgilityPack)


기본적인 사용법은 아래와 같다.



처음에는 많은 사람들이 WebBrowser 콘트롤을 이용하여, html을 파싱하길래 나 역시 그걸 이용하여 코드를 작성하였는데,(WebBrowser 콘트롤을 사용하면 web 로딩이 완료되었을 시, 내부적으로 domparsing도 진행해 주는것 같다.)

 

내 쪽 코드 문제인지, 어떤 이유인지는 모르게 자바스크립트 오류가 뜨면서 DocumentCompleted 이벤트가 종종 발생하지 않는 경우가 발생하였다.


자바스크립트 창을 hidden시켜주는 옵션이 있어 해당 옵션도 바꿔봤는데도, 

별다른 이유없이 DocumentCompleted 이벤트가 호출되지 않는 경우가 종종 발생하여, 

해당 콘트롤을 이용하여 html parsing을 처리하는 작업은 중단하고, 위의 라이브러리를 사용하였다. 


생각보다 깔끔하게 domparsing이 이루어지고, childNode도 쉽게 찾을 수 있어서 편리하였다.

(그래도 bs4가 진리인듯 싶다.. 내가 너무 파이썬에 길들여진듯..)

나도 어느샌가 좀더 쉬운.. 좀더 편한 콘트롤들만 찾게 되는구나...

(저런 콘트롤을 내가 만들어보자!!)