| Home |
2008.05.24
yahooのapiが面白そうなので触ってみた
別におっぱい画像を落とすために頑張ってるわけじゃないです。
yahoo!のデベロッパーネットワークというところでyahoo!のコンテンツをapiで利用できるということで、目覚ましアプリなんか作ってられるか(前回の開発記事)とぶち切れて、apiを触ってみました。
yahoo!からは検索に関してWeb、画像、動画などなどapiが提供されているのですが、もちろん画像検索のapiを使ってみる。だから別におっぱい画像を(ry
rubyで書いてみた。
apiの利用は簡単だけどrubyが分からん('A`)
今は指定の検索ワードから画像を取得して保存するところまでできてます。
「できてんじゃんか!」
とかいう突っ込みはありがたいのですが、保存される画像が半開示状態('A`)
自分の作ったシステムに生殺しにされるとは!
というか、半端にruby使ってるから駄目だと思うんだ。
基礎から勉強してないのにさ。
以下ソースコード
----------------------------------------------
require 'open-uri'
require "rexml/document"
require 'kconv'
require 'net/http'
require 'uri'
Net::HTTP.version_1_2
# ファイルを保存
def get_file(download_url, filename)
response = fetch(download_url,10)
open(filename, "w") do |file|
file.puts response.body
end
return filename
end
# HTTPリクエスト
def fetch( uri_str, limit = 10 )
raise ArgumentError, 'http redirect too deep' if limit == 0
response = Net::HTTP.get_response(URI.parse(uri_str))
case response
when Net::HTTPSuccess then response
when Net::HTTPRedirection then fetch(response['Location'], limit - 1)
else
response.error!
end
return response
end
# Main
img_uri = ""
filename = ""
xml = REXML::Document.new(open("http://api.search.yahoo.co.jp/ImageSearchService/V1/imageSearch?appid=!!!Yahoo!IDを入れる!!!&query=baseball&results=1"))
xml.elements.each("ResultSet/Result") {|line|
# print line.elements["Url"].text + Kconv.toeuc(line.elements["Title"].text)+"\n"
img_uri = line.elements["Url"].text
filename =line.elements["Title"].text
}
get_file(img_uri,filename)
yahoo!のデベロッパーネットワークというところでyahoo!のコンテンツをapiで利用できるということで、目覚ましアプリなんか作ってられるか(前回の開発記事)とぶち切れて、apiを触ってみました。
yahoo!からは検索に関してWeb、画像、動画などなどapiが提供されているのですが、もちろん画像検索のapiを使ってみる。だから別におっぱい画像を(ry
rubyで書いてみた。
apiの利用は簡単だけどrubyが分からん('A`)
今は指定の検索ワードから画像を取得して保存するところまでできてます。
「できてんじゃんか!」
とかいう突っ込みはありがたいのですが、保存される画像が半開示状態('A`)
自分の作ったシステムに生殺しにされるとは!
というか、半端にruby使ってるから駄目だと思うんだ。
基礎から勉強してないのにさ。
以下ソースコード
----------------------------------------------
require 'open-uri'
require "rexml/document"
require 'kconv'
require 'net/http'
require 'uri'
Net::HTTP.version_1_2
# ファイルを保存
def get_file(download_url, filename)
response = fetch(download_url,10)
open(filename, "w") do |file|
file.puts response.body
end
return filename
end
# HTTPリクエスト
def fetch( uri_str, limit = 10 )
raise ArgumentError, 'http redirect too deep' if limit == 0
response = Net::HTTP.get_response(URI.parse(uri_str))
case response
when Net::HTTPSuccess then response
when Net::HTTPRedirection then fetch(response['Location'], limit - 1)
else
response.error!
end
return response
end
# Main
img_uri = ""
filename = ""
xml = REXML::Document.new(open("http://api.search.yahoo.co.jp/ImageSearchService/V1/imageSearch?appid=!!!Yahoo!IDを入れる!!!&query=baseball&results=1"))
xml.elements.each("ResultSet/Result") {|line|
# print line.elements["Url"].text + Kconv.toeuc(line.elements["Title"].text)+"\n"
img_uri = line.elements["Url"].text
filename =line.elements["Title"].text
}
get_file(img_uri,filename)
| Home |

