簡體   English   中英

Ruby on Rails 3和Google圖書搜索

[英]Ruby on Rails 3 and Google Book Search

我正在嘗試在我的Ruby on Rails 3應用程序中開始使用Google Data API for Google Book Search,我甚至不了解如何開始使用。 我需要什么寶石? 為了做一些簡單的事情,比如搜索標題為Foobar的書,我需要做些什么?

關注棄用問題:我剛剛發布了GoogleBooks ,這是一個Ruby包裝器,使用戶能夠以所描述的方式精確地查詢書籍。

它已更新為現在的Google API,因此它不受最近Google圖書搜索API棄用的影響。

如果您希望使用Google圖書檢索有關圖書的信息,可以使用他們的數據API: http//code.google.com/apis/books/docs/gdata/developers_guide_protocol.html

http://books.google.com/books/feeds/volumes?q=isbn:9780974514055等網址發出請求將返回帶有圖書信息的XML。 您可以使用Nokogiri gem來解析結果( http://nokogiri.org/ )。

需要注意的一點是,要獲得書籍的完整描述,您需要獲取條目而不僅僅是Feed結果。

以下是您如何從Google獲取圖書信息的簡短示例:

require 'open-uri'
require 'nokogiri'

class Book
  attr_accessor :title, :description
  def self.from_google(title)
    book  = self.new
    entry = Nokogiri::XML(open "http://books.google.com/books/feeds/volumes?q=#{title}").css("entry id").first
    xml   = Nokogiri::XML(open entry.text) if entry
    return book unless xml

    book.title       = xml.css("entry dc|title").first.text       unless xml.css("entry dc|title").empty?
    book.description = xml.css("entry dc|description").first.text unless xml.css("entry dc|description").empty?
    book
  end
end

b = Book.from_google("Ruby")
p b

如果你想使用api,我想你將不得不使用jruby和他們的java api。 根據這一點,書籍搜索沒有ruby api: http//code.google.com/apis/books/docs/gdata/code.html

要與谷歌連接,請嘗試使用gdata gem。 http://code.google.com/apis/gdata/articles/gdata_on_rails.html#SetupRails

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM