网页解析包 Nokogiri

网页解析包 Nokogiri

网页解析

实际中,我们经常需要对网页内容进行解析,上文中介绍了两种解析方法,其中一种需要用正则表达式解析,另一种需要利用已经写好的网页解析包 Nokogiri

本文只是对 Nokogiri 进行分析,详细介绍还请参见 Nokogiri官网 以及相关博客介绍 Parsing HTML with Nokogiri

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')

本文内容均来自:

  1. http://nokogiri.org/
  2. http://ruby.bastardsbook.com/chapters/html-parsing/

你可能感兴趣的:(网页解析)