`
windonly
  • 浏览: 16310 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

Ruby学习笔记一:安装Ruby与Ruby的爬虫应用

阅读更多
最近终于空下来了,所以下个Ruby玩玩,安装Ruby很简单,去官网下载一个一键安装包既可,linux下的安装,大家Google下就有很多教程了.对于IDE网上说NetBeans支持得很完美,但是因为本人比较喜欢Eclipse,所以还是跟大家推荐EasyEclipse for Ruby and Rails,当然你可以选择只下RoR的插件而不弄个全新的Eclipse.
以前一直在用Java写爬虫工具抓图片,对HttpClient包装,正则表达式处理那个是累啊,就算弄好了工具类,有时候一会又想不起来放哪儿,但Ruby对方面包装的就很强大,短短几十行代码就搞定了这一切:
页面获取和文件下载的方法.
util.rb:

require 'net/http'
def query_url(url)
  
return Net::HTTP.get(URI.parse(url));
end

def save_url(url
,dir,filename)
  filename 
= url[url.rindex('/')+1, url.length-1if filename == nil || filename.empty?
  
require 'open-uri'
  Dir
.mkdir("#{dir}"if dir != nil && !dir.empty? && !FileTest.exist?(dir)
  
open(url) do |fin|
    
if true
    File
.new("#{dir}#{filename}","wb").close
    
open("#{dir}#{filename}","wb"do |fout|
      
while buf = fin.read(1024do
        fout
.write buf
        STDOUT
.flush
      end
    end
    end
  end
end

抓取图片的具体应用:
require "util"
begin
  start_url 
= 'http://list.mall.taobao.com/1424/g-d-----40-0--1424.htm'
  
while start_url != nil && !start_url.empty? do
    
print "开始下载#{start_url}\n"
    content 
= query_url(start_url)
    next_page 
= content.scan(/ <a href="(.*?)" class="next-page"><span>下一页<\/span><\/a>/)
    next_url 
= nil
    next_url 
= next_page[0][0if  next_page != nil && next_page.length > 0 && next_page[0].length > 0

    imgs 
= content.scan(/<img src="(http:\/\/img[\d].*?)" \/>/)
    
for img in imgs
      url 
= img[0];
      save_url(url
,"d:\\mall\\",nil)
    end

    start_url 
= next_url;
    
#    break;
  end

end
使用一天之后感觉ruby的语法很自然,很好理解,上手比较容易,而且相关包封装的也很好,确实比较适合拿来玩玩小程序.
分享到:
评论

相关推荐

    Ruby语言入门教程:从安装到编写

    ### Ruby语言入门教程:从安装到编写 #### 一、Ruby简介 Ruby是一种简洁、高效的面向对象编程语言,由日本人松本行弘(Yukihiro Matsumoto)于1995年设计并开发。其设计理念强调程序员的幸福感,追求代码的可读性...

    Ruby on Rails教程:学习使用Rails进行Web开发Ruby on Rails Tutorial: Learn Web Development with Rails

    本书教您如何使用Ruby on Rails开发和部署真正的,具有工业实力的Web应用程序,Ruby on Rails是为诸如Twitter,Hulu,GitHub和Yellow Pages等顶级网站提供支持的开源Web框架。

    Ruby学习笔记

    这个暑假回家没事干闲的蛋疼,正好手头有一本《七周七语言》,然后就开始从Ruby学起,到scala结束。中间的Io和prolog就被华丽丽的跳过了,因为prolog语法太奇葩,Io有没什么好的资料可以看,尽管我觉的Io应该会是一...

    学习Ruby的笔记以及Demo源码.zip

    学习Ruby的笔记以及Demo源码.zip学习Ruby的笔记以及Demo源码.zip学习Ruby的笔记以及Demo源码.zip学习Ruby的笔记以及Demo源码.zip学习Ruby的笔记以及Demo源码.zip学习Ruby的笔记以及Demo源码.zip学习Ruby的笔记以及...

    RubyStudy-master-ruby学习笔记

    Ruby 是一种功能强大、灵活的编程语言,广泛应用于 Web 开发、脚本编写和系统管理等领域。下面是学习 Ruby 的一些实用建议:首先,了解 Ruby 的基本概念和语法。 Ruby 是一种面向对象的语言,具有简洁的语法和强大...

    ruby学习笔记

    ruby基础笔记,自学笔记,ruby基础语法非常全面ruby基础笔记,自学笔记,ruby基础语法非常全面

    用Ruby写的一个网络爬虫

    用Ruby写的一个网络爬虫,用到了正则表达式 和哈希表

    Ruby-rubybuild编译和安装Ruby

    而`ruby-build`是`rbenv`的一个插件,它的主要功能是编译并安装各种版本的Ruby。 首先,你需要在你的系统上安装`rbenv`。这通常涉及克隆`rbenv`的GitHub仓库,并将其添加到PATH环境变量中。对于Unix或类Unix系统...

    Ruby-QRcode一个用于解析QR码的Ruby库

    Ruby-QRcode库是Ruby编程语言中用于生成和解析QR码的一个强大工具。QR码,全称为Quick Response Code(快速响应码),是一种二维条形码,可以存储各种数据,如文本、URL、联系人信息、日历事件等,并且在手机扫描...

    Ruby学习笔记(学习心得)

    Ruby学习笔记 01 类的属性与方法 02 访问控制 03 Container(Array/Hash) 04 Iterator 05 简单数据类型 06 范围 07 方法 08 条件控制 09 异常处理

    Ruby-Wombat轻量级的RubyWeb爬虫

    总之,Ruby-Wombat是一个强大的Web爬虫框架,它简化了数据抓取的过程,使开发者能够更专注于数据的分析和应用,而不是爬取本身的技术细节。通过学习和掌握Wombat,你可以快速地构建起自己的网络数据获取系统,为各种...

    学习 Ruby 的笔记以及 Demo(简介、语言特性、应用场景、Ruby 注释、Ruby 文件的构造与析构语句Ruby 变量等)

    Ruby 学习笔记 1、简介 定义:一种简单快捷的面向对象脚本语言 开发者:松本行弘 开发时间:1995年 设计目的:A PROGRAMMER'S BEST FRIEND【程序员的最佳朋友】 文件扩展名:rb 2、语言特性 真正的面向对象编程语言 ...

    ruby笔记1ruby笔记1ruby笔记1

    标题中的"ruby笔记1ruby笔记1ruby笔记1"暗示了这是一份关于Ruby编程语言的学习笔记,可能包含了作者在学习过程中的重点、难点以及心得体验。描述中的内容重复了标题,进一步强调了这是关于Ruby的深入学习记录。标签...

    rubyinstaller-devkit-3.0.2-1-x64 and Ruby 学习笔记.7z

    总的来说,`rubyinstaller-devkit-3.0.2-1-x64 and Ruby 学习笔记.7z`文件包含了一个在Windows上开始Ruby编程所需的基本组件和学习资源。通过安装Ruby和DevKit,你可以轻松地编写、编译和运行Ruby代码,同时结合学习...

    学习 Ruby 的笔记以及 Demo.zip

    10. Rails框架:Ruby最有名的应用莫过于Ruby on Rails,这是一个快速开发Web应用的框架,遵循MVC(模型-视图-控制器)架构,极大地提高了开发效率。 压缩包内的“ruby-master”可能是一个Ruby项目或者教程的源代码...

    Ruby Under a Microscope An Illustrated Guide to Ruby Internals

    他不仅在知名的Ruby相关网站上写文章和教程,还参与了Ruby的开发,并且是知名管理咨询公司麦肯锡&公司的Ruby应用开发者。Pat经常在Ruby会议上演讲,他的文章和演讲也经常被Ruby Weekly、Ruby5播客和The Ruby Show等...

    Ruby编程之道:探索优雅代码的艺术

    6. **丰富的库**:Ruby拥有一个庞大的标准库,以及一个活跃的社区,提供了大量的第三方库和框架,如Rails、Sinatra等。 Ruby常用于Web开发、自动化脚本、系统管理任务等多种场景。Ruby on Rails是一个流行的服务器...

    Ruby语言入门教程:基础知识与Web开发指南

    同时,文章介绍了如何在不同平台上搭建Ruby开发环境,并深入探讨了Ruby在Web开发中的应用,特别是Rails框架的安装和使用方法。 适合人群:对编程感兴趣的初学者和有一定基础的开发者。 使用场景及目标:① 帮助读者...

    精华ruby学习笔记和代码

    ruby是一种简单快捷的面向对象脚本语言 开发者:松本行弘 开发时间:1995年 设计目的:A PROGRAMMER'S BEST FRIEND【程序员的最佳朋友】 文件扩展名:rb 这个笔记里包含了ruby的整型,字符串,浮点数,布尔等基础...

    Ruby语言全面掌握:从基础语法到实战案例的一站式教程

    适合人群:Ruby 初学者,希望深入了解和提高 Ruby 编程能力的技术人员。 使用场景及目标:提供一站式的学习路径,帮助学习者系统掌握 Ruby 编程,通过具体案例实操增强技能。主要应用场景包括Web 开发和日常脚本任务...

Global site tag (gtag.js) - Google Analytics