.NET/Clawler 3

HTML Agility Pack 사용시 문제

HTML 을 불러와 xml 또는 xhtml 로 저장하려할때 1) form 태그가 하위 요소를 포함하지 않고 혼자서 태그가 닫히는 문제가 있었다 을 변환하고 나면 이렇게 되었다. 관련 게시글 : http://htmlagilitypack.codeplex.com/discussions/7121 해결책은 링크에 있는것처럼 소스 코드를 받아 리빌드 하는것이다. 소스 파일 중에 HtmlNode.cs 가 있는데 ElementsFlags.Add("form", HtmlElementFlag.CanOverlap | HtmlElementFlag.Empty); 위와 같이 되어 있을것이다. 저 코드의 htmlelementFlag.Empty 를 지워버리면 된다. 2) form 하위 노드가 검색이 안되는 문제 xpath 로 검색하는데..

.NET/Clawler 2013.05.08

.net 에 적합한 html parser

java 용은 충분히 많으나 .net 에서 쓰기에 적합한건 제한적이다 다행히 open source 중 완성도가 높은게 있는데 1) HTML Agility Pack ( http://htmlagilitypack.codeplex.com/ ) 2) HTML Tidy Managed ( https://github.com/markbeaton/TidyManaged ) 추가로 WebKit 을 기반으로 한 HTML Browser Control 로는 WebKit.net ( http://webkitdotnet.sourceforge.net/ ) 이 있다. 참고로 이 컨트롤을 사용할때 빌드된 webkit binary 를 같은 폴더에 복사해서 사용해야 한다 (컨트롤 초기화 시점에 발생하는 문제라면 이게 99%)

.NET/Clawler 2013.05.06