Ruby 采集常用库:nokogiri 使用指南

记录一些自己常用到的 nokogiri api 以及遇到的问题
更新于: 2021-12-19 12:57:29

nokogiri的安装

gem install nokogiri

抓取 HTML

require 'nokogiri'
require 'open-uri'

doc = Nokogiri::HTML(open("https://js.work"), nil, "utf-8")
str = doc.css('title').text
puts str

# "aric的小站"

常用选择器

功能选择器备注
标签选择,取标题doc.css('title').text有时候,记得和.strip 配合使用
类比JS 里的 querySelectorAlldoc.css('.is-title a')批量取
类比JS 里的 querySelectordoc.at_css('.is-title a')取一个
得到 a元素,取链接 参考示例直接从结果里取对应属性名

取得 a 元素里的链接 

require 'nokogiri'
require 'open-uri'

doc = Nokogiri::HTML(open("http://localhost:3000"),nil, "utf-8")
res = doc.at_css('.is-title a')
puts res["href"]
"/posts/b78493078563f"

参考