Ruby:
HTML 파싱

방법:

Ruby에서 HTML을 파싱하려면 gem install nokogiri로 ‘Nokogiri’ 젬을 설치하십시오. Nokogiri는 Ruby에서 HTML 및 XML을 다루는 스위스 군용 나이프와 같습니다. 다음은 간단한 예입니다:

require 'nokogiri'
require 'open-uri'

# 웹사이트에서 HTML 내용을 불러옵니다
html_content = URI.open('http://example.com').read

# HTML을 파싱합니다
doc = Nokogiri::HTML(html_content)

# 제목을 추출합니다
title = doc.xpath('//title').text
puts "페이지의 제목은: #{title}"

이것은 대략 이런 결과를 내놓습니다: 페이지의 제목은: Example Domain.

깊이 있게 살펴보기

초기 Ruby 시절에는 HTML을 파싱할 수 있는 옵션이 제한적이었습니다. REXML은 내장되어 있었지만 느렸습니다. 그다음 Hpricot이 등장했지만 서서히 사라졌습니다. Nokogiri는 2008년에 데뷔하여 Hpricot의 사용 편의성과 검증된 XML 툴킷인 libxml의 속도 및 파워를 결합했습니다.

파싱 세계에서는 항상 대안이 있습니다. 일부는 내장된 ‘rexml’ 라이브러리나 또 다른 Ruby용 XML/HTML 파서인 ‘oga’를 선호합니다. 하지만 Nokogiri는 그 견고함과 속도, 그리고 방대한 기능 덕분에 여전히 많은 사람들의 선호도를 얻고 있습니다.

내부적으로 Nokogiri는 HTML을 문서 객체 모델(DOM)—트리 구조—로 변환합니다. 이를 통해 요소를 쉽게 탐색하고 조작할 수 있습니다. XPath와 CSS 선택자를 사용하면 필요한 정보의 어떤 부분이든 정확히 지정할 수 있습니다.

또한 보기