`

用 Ruby scrAPI 做数据采集

阅读更多

 

前天在 Railscasts 上面看到一篇介绍 Ruby scrAPI  这个类库的视频教程《 Screen Scraping with ScrAPI 》,里面介绍了如何通过 scrAPI 以 HTML dom 的方式抓取其它网站的内容的例子,整个方式非常简单有效! scrAPI 的 HTML 解析机制和 jQuery 的  Selectors  非常像,它可以以  html>body>div#container>div#articles>div.item>div.title 的方式来解析像下面这样的HTML结构

[代码] [Ruby]代码

01 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
02   "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
03 <html xmlns="http://www.w3.org/1999/xhtml">
04 <head>
05   <meta http-equiv="Content-type" content="text/html; charset=utf-8">
06   <title>This is the scrAPI collect demo page</title>
07 </head>
08 <body>
09   <div id="header">
10     <h1 id="demo">Demo</h1>
11     <ul id="nav">
12       <li><a href="/">Home</a></li>
13       <li class="current"><a href="/articles">Articles</a></li>
14       <li><a href="/about">About</a></li>
15     </ul>
16   </div>
17   <div id="container">
18     <div id="articles">
19       <div class="item">
20         <div class="title">
21           <a href="/articles/show/1">Sample article title 1</a>
22         </div>
23         <div class="summary">
24           There is the summary text 1.
25         </div>
26       </div>
27       <div class="item">
28         <div class="title">
29           <a href="/articles/show/1">Sample article title 2</a>
30         </div>
31         <div class="summary">
32           There is the summary text 2.
33         </div>
34       </div>
35       <div class="item">
36         <div class="title">
37           <a href="/articles/show/1">Sample article title 3</a>
38         </div>
39         <div class="summary">
40           There is the summary text 3.
41         </div>
42       </div>
43     </div>
44   </div>
45 </body>
46 </html>
1
0
分享到:
评论

相关推荐

    使用ruby解析awdb离线库

    使用ruby解析awdb离线库使用ruby解析awdb离线库使用ruby解析awdb离线库使用ruby解析awdb离线库使用ruby解析awdb离线库使用ruby解析awdb离线库使用ruby解析awdb离线库使用ruby解析awdb离线库使用ruby解析awdb离线库...

    用ruby写的采集程序.zip

    标题中的“用ruby写的采集程序”表明这是一个使用Ruby编程语言编写的网络数据采集脚本。Ruby是一种面向对象的、动态类型的编程语言,以其简洁、优雅的语法和强大的元编程能力而受到开发者喜爱。在Web开发领域,Ruby...

    Ruby基础语法+Ruby变量与数据类型+Ruby控制结构+Ruby函数与方法+Ruby面向对象编程等全套教程

    Ruby变量与数据类型 Ruby控制结构 Ruby函数与方法 Ruby面向对象编程 Ruby模块与包 Ruby错误处理 Ruby文件与I/O操作 Ruby正则表达式 Ruby网络编程 Ruby数据库交互 Ruby测试框架 RubyWeb框架Rails入门 Ruby高级特性 ...

    Ruby-TensorStream用Ruby重新实现TensorFlow

    **Ruby-TensorStream:用Ruby重现实现TensorFlow** Ruby-TensorStream是一个开源项目,旨在为Ruby开发者提供一个类似于Google TensorFlow的深度学习框架。它的核心目标是让Ruby程序员能够利用TensorFlow的强大功能...

    ruby代码ruby代码ruby代码ruby代码ruby代码ruby代码

    ruby代码ruby代码ruby代码ruby代码ruby代码ruby代码ruby代码ruby代码

    Ruby Ruby Ruby Ruby Ruby Ruby

    Ruby Ruby Ruby Ruby Ruby Ruby

    Ruby Data-Processing ruby数据处理

    比如,你可以先使用Map对数据进行转换,然后用Reduce进行聚合,最后通过Select进行过滤。这样的组合提供了灵活且高效的处理大量数据的方式。 阅读《Ruby Data-Processing》这本书,你将能够深入了解如何利用这些...

    Ruby 用ADO读取ACCESS数据

    标题 "Ruby 用ADO读取ACCESS数据" 描述了如何使用Ruby编程语言通过ActiveX Data Objects (ADO)接口来访问并操作Microsoft Access数据库文件。在本文中,我们将深入探讨这个主题,了解如何设置环境,安装必要的库,...

    Ruby-rubybuild编译和安装Ruby

    在Ruby开发中,为了管理不同版本的Ruby环境,我们常常会使用到`rbenv`和`ruby-build`这两个工具。本文将详细介绍如何使用`ruby-build`来编译和安装Ruby。 `rbenv`是一个用于管理全局或用户级别的Ruby版本的工具,它...

    实习七 网页数据采集1

    网页数据采集实践 在本次实践中,我们将学习如何使用 Python 的 Selenium 库来采集网页...我们了解了网页数据采集的流程、Selenium 库的使用、网页数据采集的注意点等知识点。我们也实践了链家网上的二手房数据采集。

    ruby实用函数和实例

    首先,我们关注的是"使用Ruby语言实现自动测试与数据采集.pdf"这个文件。自动测试是软件开发过程中的重要环节,它确保代码的质量和可靠性。Ruby提供了几个知名的测试框架,如RSpec和Minitest。RSpec允许开发者以自然...

    Ruby编程,Ruby编程,

    - **Ruby语言基础**:介绍了Ruby的基本语法、数据类型、控制结构等基础知识。 - **面向对象编程**:深入讲解了Ruby中的类、模块、继承等面向对象编程特性。 - **核心库和工具**:详细介绍了Ruby标准库中的一些...

    R和Ruby数据分析之旅,中文完整扫描版

    借助基本的数学方法,并使用Ruby和R语言做一些简单的编程工作,你就能学会如何对问题建模,并找出解决方案。 要阅读《R和Ruby数据分析之旅》,对编程有基本了解就足够了。书中会对Ruby和R做一个简明的介绍,之后你...

    Ruby-qtbindings允许你在Ruby中使用QTGui工具包

    在Ruby中使用QTGui工具包,开发者可以利用Ruby的简洁语法和动态特性,同时享受到QT提供的强大GUI设计能力。通过qtbindings,Ruby程序员可以直接调用QT的类和方法,创建复杂的窗口应用、控件、布局和信号与槽机制,而...

    Ruby-rubyinstall安装RubyJRubyRubiniusMagLevorMRuby

    3. Rubinius:Rubinius是一个用Ruby语言大部分实现的虚拟机,其目标是提供一个高性能的、符合Ruby语言规范的平台。它使用LLVM作为后端,支持即时编译,旨在提供比MRI更好的性能。 4. MagLev:MagLev是GemStone/S...

    ruby-使用ruby实现的排序算法-sorting.zip

    在Ruby编程语言中,排序算法是数据处理和分析的核心部分,它们用于组织和优化数据结构。本资源"ruby-使用ruby实现的排序算法-sorting.zip"聚焦于如何使用Ruby实现不同的排序算法,这对于Ruby开发者来说是一项重要的...

    Ruby完全自学手册

    1. Ruby基础语法:变量、常量、数据类型、运算符、控制结构等。 2. 面向对象编程:类与对象、继承、多态、封装、模块等。 3. 高级特性:块(Block)、迭代器(Iterator)、元编程、反射等。 4. 标准库的使用:文件...

    Ruby-rgeoRuby的地理空间数据的库

    Ruby-rgeo库是Ruby编程语言中的一个核心工具,专门用于处理和操作地理空间数据。它为开发者提供了丰富的功能,使得在Ruby环境中进行地理信息系统(GIS)相关的开发变得更加便捷。Rgeo库不仅支持基本的空间数据类型,...

    ruby DBI ruby DBI ruby DBI

    ruby DBI ruby DBI ruby DBIruby DBI ruby DBI ruby DBIruby DBI ruby DBI ruby DBIruby DBI ruby DBI ruby DBIruby DBI ruby DBI ruby DBIruby DBI ruby DBI ruby DBIruby DBI ruby DBI ruby DBIruby DBI ruby DBI ...

    Ruby新手学习书(Ruby语言中文教程)和Rails_4_days

    Ruby是一种面向对象的编程语言,以其简洁、优雅的语法著称,被广泛应用于Web开发,尤其是与Ruby on Rails框架结合使用。"Ruby新手学习书"和"Rails_4_days"这两个资源是为初学者设计的,旨在帮助他们快速掌握Ruby语言...

Global site tag (gtag.js) - Google Analytics