그런데, 이 방법은 매우 성가신 작업입니다. 파싱 기능만 분리시켜 사용하는게 불가능하기에 몇차례의 입력과 변환 작업을 해줘야 합니다.
잘 작동하지 않는다는 점도 문제입니다. 문법에 맞게 재작성한 것도 어떨때는 일부만 출력하더군요.
가장 큰 문제는 qt5에서 이러한 기능이 사라졌다는 점입니다.
또 다른 방법이 있습니다.
html문서를 xml규격에 맞게 다듬는 과정을 거쳐 xhtml문서로 만듭니다. 그뒤 pugixml과 같은 xml 파서로 파싱합니다. 이렇게 하면, html문서의 이상구조에 따른 오작동을 미리 방지하고, 보다 정확한 결과를 기대할수 있으며, xml 관련 도구를 활용하여 보다 유연하게 코드를 작성할수 있습니다. 대개 xpath로 한줄 또는 몇줄로 결과를 가져와서 처리합니다.
우선 목적을 명확히하셔야합니다. HTML 파싱을 어렵게하는건 워낙 대중적인 마크업언어이다보니 변칙적이고 비문법적인 구문이 많다는것입니다. 특정 태그를 추출하고싶은거라면 간단하지만 브라우저처럼 모든엘리먼트와 그 속성과 스타일을 파악하는거라면 차라리 웹킷같은 브라우저 라이브러리를 쓰는게훨씬낫습니다.
qt4 webkit을 씁니다. webelement
qt4 webkit을 씁니다. webelement 클래스를 사용하면, css 선택자 문법으로 손쉽게 html 태그를 선택하고 조작할수 있습니다.
그런데, 이 방법은 매우 성가신 작업입니다. 한줄
그런데, 이 방법은 매우 성가신 작업입니다. 파싱 기능만 분리시켜 사용하는게 불가능하기에 몇차례의 입력과 변환 작업을 해줘야 합니다.
잘 작동하지 않는다는 점도 문제입니다. 문법에 맞게 재작성한 것도 어떨때는 일부만 출력하더군요.
가장 큰 문제는 qt5에서 이러한 기능이 사라졌다는 점입니다.
또 다른 방법이 있습니다.
html문서를 xml규격에 맞게 다듬는 과정을 거쳐 xhtml문서로 만듭니다. 그뒤 pugixml과 같은 xml 파서로 파싱합니다. 이렇게 하면, html문서의 이상구조에 따른 오작동을 미리 방지하고, 보다 정확한 결과를 기대할수 있으며, xml 관련 도구를 활용하여 보다 유연하게 코드를 작성할수 있습니다. 대개 xpath로 한줄 또는 몇줄로 결과를 가져와서 처리합니다.
윗분에 이어서... 다음 링크가 도움이 될
윗분에 이어서...
다음 링크가 도움이 될 겁니다.
http://curl.haxx.se/libcurl/c/htmltidy.html
http://tidy.sourceforge.net/
저는 그냥 strtok 를 주로 씁니다.
검색하기위해 필요한 구분자를 찾고, 그 구분자들을 strtok로 걸러내는 작업을 해줍니다.
우선 목적을 명확히하셔야합니다. HTML을 파싱을
우선 목적을 명확히하셔야합니다. HTML 파싱을 어렵게하는건 워낙 대중적인 마크업언어이다보니 변칙적이고 비문법적인 구문이 많다는것입니다. 특정 태그를 추출하고싶은거라면 간단하지만 브라우저처럼 모든엘리먼트와 그 속성과 스타일을 파악하는거라면 차라리 웹킷같은 브라우저 라이브러리를 쓰는게훨씬낫습니다.
댓글 달기