nokogiri는 hpricot과 비슷하다고 한다. 무엇이 다른지 궁금하다.
사용법이 생각보단 간단해서 놀랬다.ㅋㅋ
nokogiri는 읽어들인 html 문서를 트리형태로 유지한다.
각각은 노드로 표현됨.
각 노드들은 parent, children, next_sibling, previous_sibling 을 가진다.
문서 정보를 유지하는 방법? 이 dom, sax 등 네가지가 있다고 하는데
무슨 말인지 잘 모르겠다. 꼭 공부하자!!
dom 이 가장 많이 쓰고 쉽다고 하는것 같다.
nokogiri로 노드들을 탐색하는 방법은 총 3가지 이다.
xpath 스타일,
css 스타일,
nokogiri api 이용
xpath vs css
xpath 와 css 는 사용방법이 거의 같지만 약간의 차이가 있다.
css는 xpath 보다 더 간결하고 보기 쉽다.
그러나 xpath에선 되는데 css에선 안되는 것도 있다고 한다.
예를들어, <h1 class = "r foo"> 가 있을때
doc.xpath('//h1[@class = "r"]') 과
doc.css('h1.r') 로 매칭을 시도하면
css에서는 매칭이 되버린다. (나는 이게 안좋다고 생각한다 ㅋ, 용도에 따라 다를수도 있지만)
그 밖에 또 어떤 차이가 있는지 궁금하다.