読者です 読者をやめる 読者になる 読者になる

akms道東

ITイベント,勉強会への参加記録や趣味のことが書いてあるブログです.

DMMのWeb APIを使ってRubyの練習をしてみた

ゆーすけべーさんのブログを見て、気になったのでさっそく試してみた。

一から書けるほどRubyの実力がないので、練習としてゆーすけべーさんのPerlのスクリプトを翻訳するような形で書いてみた。

いろいろと試行錯誤して、完成したので下記に載せておきます。

完成したスクリプト

# -*- coding: utf-8 -*-                                                                                                                                                              

require 'open-uri'
require 'rexml/document'

url = "http://affiliate-api.dmm.com/?"
queries = []
word = URI.escape("成瀬心美".encode("euc-jp"))
time = URI.escape(Time.new.strftime('%F %T'))

params = {
  "api_id"       => 'your_api_id',
  "affiliate_id" => 'your_affiliate_id',
  "operation"    => 'ItemList',
  "version"      => '2.00',
  "timestamp"    => time,
  "site"         => 'DMM.co.jp',
  "service"      => 'digital',
  "floor"        => 'videoa',
  "sort"         => 'review',
  "keyword"      => word,
  "hits"         => 20
}

params.each_pair do |key,value|
  queries.push("#{key}=#{value}")
end

url += queries.join("&")
res = open(url)

REXML::Document.new(res).elements.each("response/result/items/item") do |element|
  p element.elements['title'].text
end

ちなみに実行結果はこんな感じです。

[akms@MacBook] ~
% ruby dmmserch.rb 
"憑依アイドル"
"ボインな彼女にめちゃモテ同棲生活 成瀬心美"
"残酷放尿地獄 〜全裸でM男に小便をかける変態GALここに集結!〜"
"アンモラル 〜継父に嵌められた母と私 〜ショートカットコスプレ編〜 成瀬心美"
"かわいい妹2人と夢の同棲性活 つぼみ 成瀬心美"
"小悪魔JK 大胆パンチラコレクション"
"OPPAIナーススペシャル ロリ中出し3時間40分"
"同級生にオモチャにされる夢の学校生活 2"
"恥ずかしい失禁 羞恥で溢れだすキャリアウーマンの泉 成瀬心美"
"後ろから女を犯す!バック激突き16時間"
"「女の口は嘘をつく。」 雌女ANTHOLOGY #071 成瀬心美"
"神咲詩織と成瀬心美のダブルドリーム"
"完全主観 ハーレム学園生活"
"完全主観 人生最大のモテ期がやってきた!"
"癒らし。 VOL.62 成瀬心美"
"絶対に手を出してはいけない相手を夜這いしちゃった俺"
"めざせ!!ドリームシャワー 成瀬心美"
"第3回 女子校生!妹-1グランプリ"
"20歳以上離れた娘の友達にホレられちゃった俺"
"挑発エロ尻 尻ずりで発射(イカ)されちゃった僕。"
[akms@MacBook] ~

ゆーすけべーさんのスクリプトと同様の結果が得られました。
ただ環境のせいなのか実行時間がちょっとかかるのがネックです。