抓取页面元素--ruby篇

2018-06-12  本文已影响0人  sandy测试路

目标:抓取该页面的Followers数量

获取Followers数量

所需包

nokogiri介绍

1. 获取elem结果集

  1. doc.xpath(xpath),通过xpath返回html文档中所有符合条件的节点
  2. doc.css(css_selector),通过css选择器返回html文档中所有符合条件的节点
  3. doc.search()

2. 操作节点元素

3. 实现

require 'rest-client'
require 'nokogiri'

RestClient.get('https://gitee.com/maxiaoqian'){|res|
  if res.code == 200
    html_doc = Nokogiri::HTML(res.body)       # Nokogiri::HTML::Document

    # 获取操作节点元素: Nokogiri::XML::Element
    # 返回:
    # <div class="follow-num" id="followers-number">
    # 42
    # </div>
    elem = html_doc.xpath('//*[@id="followers-number"]').first
    # elem = html_doc.css('div#followers-number').first       # css selector

    # 返回节点的内容:  elem.content 或者 elem.text
    puts elem.content.strip
  end
}
上一篇下一篇

猜你喜欢

热点阅读