`
Hooopo
  • 浏览: 335160 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Programable Web系列之:Google REST

阅读更多
原来已经有人写过了:http://github.com/daimpi/google-rest/tree/master

引用
DESCRIPTION:
A Simple Ruby wrapper for the Google REST API

FEATURES/PROBLEMS:
No Problems.. my programs are perfect[size=large][/size]

哇咔咔..
签下来试用一下,还真不错:

$:.unshift File.join(File.dirname(__FILE__), "..", "lib")
require'pp'
require'google-rest'
include GoogleRest
client = GoogleSearch.new
#:type可设置 "web","books","news","blogs","video","local","images","patent"等
#分别对应搜网页,搜书,新闻...
#hl可选有"en","zh-cn"等..
results = client.search :q => "ruby", :hl =>'zh-cn'
pp results
results.each do |result|
   puts "+"*30
   puts ":cache url: #{result.cache_url}"
   puts ":content: #{result.content}"
   puts ":gsearch_result_class: #{result.g_search_result_class}"
   puts ":title #{result.title}"
   puts ":title no formatting: #{result.title_no_formatting}"
   puts ":url: #{result.url}"
   puts ":unescaped url: #{result.unescaped_url}"
   puts ":visible url: #{result.visible_url}"
end



[#<GoogleResult:0x2da0bcc
  @cache_url=
   "http://www.google.com/search?q=cache:U0idxbaGKSwJ:www.ruby-lang.org",
  @content=
   "A dynamic, interpreted, open source programming language with a focus on   simplicity and productivity. Site includes news, downloads, documentation, <b>...</b>",
  @gsearch_result_class="GwebSearch",
  @title="<b>Ruby</b> Programming Language",
  @title_no_formatting="Ruby Programming Language",
  @unescaped_url="http://www.ruby-lang.org/",
  @url="http://www.ruby-lang.org/",
  @visible_url="www.ruby-lang.org">,
 #<GoogleResult:0x2da0bb8
  @cache_url=
   "http://www.google.com/search?q=cache:Vpzq4nfiRmwJ:www.ruby-lang.org",
  @content=
   "\346\234\254\347\275\221\347\253\231\345\210\266\344\275\234\345\267\245\345\205\267\344\275\277\347\224\250<b>Ruby</b> \345\222\214Radiant CMS\357\274\214\345\271\266\344\270\224\346\234\211\346\235\245\350\207\252<b>Ruby</b> \347\244\276\345\214\272\344\270\200\344\272\233\344\273\244\344\272\272\351\252\204\345\202\262\347\232\204\344\274\232\345\221\230\345\205\261\345\220\214  \347\273\264\346\212\244\343\200\202 \345\246\202\346\236\234\346\202\250\346\234\211\344\273\273\344\275\225\347\226\221\351\227\256\346\210\226\350\200\205\344\270\215\346\230\216\347\231\275\347\232\204\346\263\250\351\207\212\350\257\267\350\201\224\347\263\273\346\210\221\344\273\254\347\232\204\347\253\231\347\202\271\347\256\241\347\220\206\345\221\230\343\200\202",
  @gsearch_result_class="GwebSearch",
  @title=
   "<b>Ruby</b> \347\250\213\345\272\217\350\256\276\350\256\241\350\257\255\350\250\200\345\256\230\346\226\271\347\275\221\347\253\231",
  @title_no_formatting=
   "Ruby \347\250\213\345\272\217\350\256\276\350\256\241\350\257\255\350\250\200\345\256\230\346\226\271\347\275\221\347\253\231",
  @unescaped_url="http://www.ruby-lang.org/zh_CN/",
  @url="http://www.ruby-lang.org/zh_CN/",
  @visible_url="www.ruby-lang.org">,
 #<GoogleResult:0x2d9fd1c
  @cache_url=
   "http://www.google.com/search?q=cache:qnANn5mkKr8J:en.wikipedia.org",
  @content=
   "<b>Ruby</b> is a dynamic, reflective, general purpose object-oriented programming   language that combines syntax inspired by Perl with Smalltalk-like features. <b>...</b>",
  @gsearch_result_class="GwebSearch",
  @title=
   "<b>Ruby</b> (programming language) - Wikipedia, the free encyclopedia",
  @title_no_formatting=
   "Ruby (programming language) - Wikipedia, the free encyclopedia",
  @unescaped_url="http://en.wikipedia.org/wiki/Ruby_(programming_language)",
  @url="http://en.wikipedia.org/wiki/Ruby_(programming_language)",
  @visible_url="en.wikipedia.org">,
 #<GoogleResult:0x2d9edf4
  @cache_url=
   "http://www.google.com/search?q=cache:oR7CKgTNjC4J:rubyonrails.org",
  @content=
   "RoR home; full stack, Web application framework optimized for sustainable   programming productivity, allows writing sound code by favoring convention over   <b>...</b>",
  @gsearch_result_class="GwebSearch",
  @title="<b>Ruby</b> on Rails",
  @title_no_formatting="Ruby on Rails",
  @unescaped_url="http://rubyonrails.org/",
  @url="http://rubyonrails.org/",
  @visible_url="rubyonrails.org">]
++++++++++++++++++++++++++++++
:cache url: http://www.google.com/search?q=cache:U0idxbaGKSwJ:www.ruby-lang.org
:content: A dynamic, interpreted, open source programming language with a focus on   simplicity and productivity. Site includes news, downloads, documentation, <b>...</b>
:gsearch_result_class: 
:title <b>Ruby</b> Programming Language
:title no formatting: Ruby Programming Language
:url: http://www.ruby-lang.org/
:unescaped url: http://www.ruby-lang.org/
:visible url: www.ruby-lang.org
++++++++++++++++++++++++++++++
:cache url: http://www.google.com/search?q=cache:Vpzq4nfiRmwJ:www.ruby-lang.org
:content: 本网站制作工具使用<b>Ruby</b> 和Radiant CMS,并且有来自<b>Ruby</b> 社区一些令人骄傲的会员共同  维护。 如果您有任何疑问或者不明白的注释请联系我们的站点管理员。
:gsearch_result_class: 
:title <b>Ruby</b> 程序设计语言官方网站
:title no formatting: Ruby 程序设计语言官方网站
:url: http://www.ruby-lang.org/zh_CN/
:unescaped url: http://www.ruby-lang.org/zh_CN/
:visible url: www.ruby-lang.org
++++++++++++++++++++++++++++++
:cache url: http://www.google.com/search?q=cache:qnANn5mkKr8J:en.wikipedia.org
:content: <b>Ruby</b> is a dynamic, reflective, general purpose object-oriented programming   language that combines syntax inspired by Perl with Smalltalk-like features. <b>...</b>
:gsearch_result_class: 
:title <b>Ruby</b> (programming language) - Wikipedia, the free encyclopedia
:title no formatting: Ruby (programming language) - Wikipedia, the free encyclopedia
:url: http://en.wikipedia.org/wiki/Ruby_(programming_language)
:unescaped url: http://en.wikipedia.org/wiki/Ruby_(programming_language)
:visible url: en.wikipedia.org
++++++++++++++++++++++++++++++
:cache url: http://www.google.com/search?q=cache:oR7CKgTNjC4J:rubyonrails.org
:content: RoR home; full stack, Web application framework optimized for sustainable   programming productivity, allows writing sound code by favoring convention over   <b>...</b>
:gsearch_result_class: 
:title <b>Ruby</b> on Rails
:title no formatting: Ruby on Rails
:url: http://rubyonrails.org/
:unescaped url: http://rubyonrails.org/
:visible url: rubyonrails.org


不过,在测试搜书的时候出现错误..查了下源代码,是这里的问题:

def initialize(result)
    result.each do |key, value|
      string ="#{underscore(key.to_s)}='#{value'}"
      eval "@#{string}"
    end
  end

原来搜关键词ruby搜到了《the pragmatic programmer's guide》......看来高手也犯错误..
改了一下:
def initialize(result)
    result.each do |key, value|
      string = %Q{#{underscore(key.to_s)}=%q{#{value}}}
      eval "@#{string}"
    end
  end


2
0
分享到:
评论
2 楼 googya 2011-01-10  
还有这样的好东西。。。。。
1 楼 googya 2011-01-10  
还有这样的好东西。。。。。。

相关推荐

    L-gica-Programable:Proyectos deLógica可编程

    "Lógica Programable"通常指的是基于Field-Programmable Gate Array (FPGA) 或 Programmable Logic Devices (PLD) 的技术。这类技术广泛应用于各种领域,如通信、计算机硬件加速、嵌入式系统以及工业自动化等。 ...

    ODR配置实例[归纳].pdf

    ODR配置实例[归纳].pdf

    Automata Programable Twido.rar_WINDOWS__WINDOWS_

    标题中的“Automata Programable Twido.rar”是一个与自动化控制相关的压缩文件,特别指出它适用于“WINDOWS”系统,意味着其中可能包含的是在Windows环境下运行或配置的软件、文档或者教程。描述简单明了,...

    capture pspice 库元件简介

    29.DIG_PAL 库:包含 programable Array Logic。 30.DIG_PRIM 库:包含 Generic digitial device:and、add、Flip_Flop。 31.DIH 库:包含 diode pull-up and pull-down network。 32.DIODE 库:包含 diode。 33...

    32个电子工程师必备的FPGA EDA ARM VHDL Verilog网站

    **简介:** 该网站提供了一系列FPGA相关的应用和教程,非常适合希望深入了解FPGA技术的工程师们。 **网址:** http://www.fpga4fun.com/ #### 3. OpenCollector **简介:** OpenCollector是一个开源硬件资源站点,...

    新代数控车床程式手册V7.16

    - **镜像机能(Programable Mirror Image)**:实现加工模型的镜像翻转。 - **小数点输入**:支持小数点的输入,提高编程的精确度。 - **主轴同期功能**:实现主轴的同步控制。 #### 4. M码指令详解 - **M码指令**:...

    单片机原理及应用习题答案-(第三版).docx

    单片机有很多主要系列产品,如 Intel 公司的 MCS-51 系列单片机、ATMEL 公司的 89 系列单片机、SST 公司的 SST89 系列单片机、PHILIPS 公司的增强型 80C51 系列单片机等。每种单片机都有其特点和优势,可以应用在...

    CUPL设计教程

    PLD(Programable Logic Device)和FPGA(Field-Programable Gate Array)都是可编程逻辑器件,功能基本相同,都是电子设计领域中最具活力和发展前途的一项技术。PLD可以完成任何数字器件的功能,从高性能CPU到简单...

    Altera Programmable Logic Device

    ALTERA可编程逻辑器件及其应用,是对于初学者极有意义的一本书。

    PLD是可编程逻辑器件.doc

    PLD(Programable Logic Device)是可编程逻辑器件,FPGA(Field Programable Gate Array)是现场可编程门阵列,两者的功能差不多相同,只是实现原理略有不同,因此我们有时能够忽略这两者的区不,统称为可编程逻辑...

    ASICDesign复旦大学专用集成电路共个实用教案.ppt

    * 专用集成电路的类型:全定制(Full Custom)、半定制(Semi-Custom)和可编程(Programable) 二、专用集成电路的设计流程 * 设计流程:制定规范(SPEC)、系统设计(System Design)、电路设计(Circuit Design...

    日立NPM电梯程序.rar

    NPM,可能是“New Programable Machine”的缩写,是日立为电梯控制设计的一款可编程控制器。这个压缩包很可能是由一系列的代码、配置文件以及可能的文档组成,用于安装和调试电梯的自动化系统。 【描述】"三菱PLC...

    存储器实验报告.doc

    - 在实验中可能使用了LPM(Logic Programable Memory)进行定制,这种方法的原理与代码实现类似。 7. **地址计数器的使用**: - 地址计数器通过置数、装载和计数使能信号来改变其输出,从而生成连续的地址。 8. ...

    基于VB的台达PLC及监控计算机的串行通信实现.doc

    台达PLC是一种广泛应用于工厂自动化系统中的可编程逻辑控制器(Programable Logic Controller),它直接连接现场控制层的检测仪器仪表设备,是工厂自动化系统的基石。因此,实现台达PLC与监控计算机之间的通信对系统...

    基于EDA技术的兼容MCS-51单片机IP核设计

    器件的可编程门数超过了百万门,并出现了内嵌复杂功能模块的SoPC(System on a Programable Chip)。这种大规模可编程逻辑芯片的出现为单片机芯片重构开辟了新的途径。本课题就是要以FPGA/CPLD(Field Programmable ...

    新代程式手册

    根据给定的新代系统程式手册_V7.13.pdf的内容,我们可以提炼出一系列与数控机床编程相关的关键知识点。这些知识点不仅适用于新代系统的用户,也对其他数控机床操作员具有一定的参考价值。 ### 新代系统简介 新代...

    tcpkit:tcpkit旨在使网络数据包可通过Lua脚本进行编程

    安装$ git clone https://github.com/git-hulk/tcpkit.git tcpkit$ cd tcpkit$ sudo make && make install用法the tcpkit was designed to make network packets programable with LUA by @git-hulk -h, Print the ...

Global site tag (gtag.js) - Google Analytics