Ruby 采集常用库:nokogiri 使用指南
记录一些自己常用到的 nokogiri api 以及遇到的问题
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 里的 querySelectorAll | doc.css('.is-title a') | 批量取 |
类比JS 里的 querySelector | doc.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"
参考