網頁解析包 Nokogiri

網頁解析包 Nokogiri

網頁解析

實際中,咱們常常須要對網頁內容進行解析,上文中介紹了兩種解析方法,其中一種須要用正則表達式解析,另外一種須要利用已經寫好的網頁解析包 Nokogiricss

本文只是對 Nokogiri 進行分析,詳細介紹還請參見 Nokogiri官網 以及相關博客介紹 Parsing HTML with Nokogirihtml

1.加載頁面

require 'nokogiri'
require 'open-uri'

page = Nokogiri::HTML(open("http://en.wikipedia.org/")) 
puts page.class   # => Nokogiri::HTML::Document

2.使用css選擇器

簡要介紹集中css使用方法,詳細方法參見以上博客正則表達式

  • 選擇 "title" 元素: page.css('title')
  • 選擇 "li" 元素: page.css('li')
  • 選擇元素 "li" 中 href 的內容: page.css('li')[1]['href']
  • 經過屬性選擇元素: page.css('li[data-category='news']')
  • 經過id選擇元素: page.css('div#funstuff')[0]
  • 同上: page.css('div#reference a')

本文內容均來自:ruby

  1. http://nokogiri.org/
  2. http://ruby.bastardsbook.com/chapters/html-parsing/
相關文章
相關標籤/搜索