美文网首页
抓取页面元素--ruby篇

抓取页面元素--ruby篇

作者: sandy测试路 | 来源:发表于2018-06-12 15:24 被阅读0次

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

  • 因为做自动化测试时经常需要抓取页面元素用作判断,所以这里作下简单的说明
获取Followers数量

所需包

  • rest-client,nokogiri

nokogiri介绍

  • 文档
  • 安装: gem install nokogiri

1. 获取elem结果集

  • 3种方式获取节点:注意返回的都是数组
  1. doc.xpath(xpath),通过xpath返回html文档中所有符合条件的节点
  2. doc.css(css_selector),通过css选择器返回html文档中所有符合条件的节点
  3. doc.search()

2. 操作节点元素

  • elem.content,获取节点内容
  • elem.attributes,返回节点的所有属性,hash类型
  • elem.attributes['id'],获取节点的某个属性值,string类型
  • elem.attributes['id'].value,获取节点的某个属性值,string类型

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
}

相关文章

  • 抓取页面元素--ruby篇

    目标:抓取该页面的Followers数量 因为做自动化测试时经常需要抓取页面元素用作判断,所以这里作下简单的说明 ...

  • 抓取页面元素--python篇

    目标:抓取该页面的Followers数量 因为做自动化测试时经常需要抓取页面元素用作判断,所以这里作下简单的说明 ...

  • 爬虫:3. selenium

    selenium 很多页面元素的生成都是通过与后台交互生成,就是常说的动态页面。使用requests抓取动态页面返...

  • Node爬虫

    使用cheerio爬虫模块抓取页面后获取元素信息跟jQuery基本一样

  • 关于Xpath注意的问题

    在一个页面上抓取元素时(对于经常变动的页面):第一:有id使用id 第二:一级一级的用class去取到元素(每个c...

  • 关于phpQuery抓取页面元素的问题

    问题是这样的,我的好友测试发现使用以下代码未将 html 中的 替换成 1。 查找问题 结果返回ASCII值为:...

  • 爬虫主要分三步

    抓取页面 分析页面 存储数据

  • Python爬虫之抓取百度贴吧中某篇帖子的内容

    目的: 抓取百度贴吧中某篇帖子的内容 思路: 1,分析百度贴吧的url 2,抓取里面的分页元素 3,循环抓取url...

  • 抓取页面

    奖项页

  • 05_“12369”举报案件

    简述 通过前面练习,应该抓取简单静态页面so easy,本节主要实现抓取动态加载(JavaScript)内容页面。...

网友评论

      本文标题:抓取页面元素--ruby篇

      本文链接:https://www.haomeiwen.com/subject/rmtreftx.html