MediaArtsDb

media_arts_db is RubyGem to scraping to the MediaArtsDataBase(メディア芸術データベース: http://mediaarts-db.jp/).

Build Status

Installation

Add this line to your application's Gemfile:

gem 'media_arts_db'

And then execute:

$ bundle

Or install it yourself as:

$ gem install media_arts_db

Usage

Comic

Search and find the information from the Comic Database.

検索方法

# 作品名(TITLE)で検索
search = MediaArtsDb::Comic::SearchWork.new('カードキャプター')
search.execute
# => 検索結果は、ComicWork(マンガ単行本作品情報)とMagazineWork(マンガ雑誌作品情報)が混在する配列が返る

# 雑誌名(MAGAZINE)で検索
search = MediaArtsDb::Comic::SearchMagazine.new('なかよし', per: 10, page: 2)
search.execute
# => 検索結果は、MagazineTitle(マンガ雑誌基本情報)の配列が返る(11-20件目)

# 著者名(AUTHOR)で検索
search = MediaArtsDb::Comic::SearchAuthor.new('CLAMP')
search.execute
# => 検索結果は、Author(著者情報)の配列が返る

# 単行本・雑誌・資料(SOURCE)で検索
# まず検索条件を指定するためにSearchOptionBuilderクラスにパラメータを設定する
# .target_xxxはどの検索結果を取得するかの設定で、必須項目
# .option_xxxは検索条件で、サイトの制限により最大5個まで設定できる。また、条件を削除する場合はnilを代入する
option = MediaArtsDb::Comic::SearchOptionBuilder.new
option.target_comic
option.option_title = 'さくら'
# SearchクラスにSearchOptionBuilderを渡す。per:, page:の指定も可能
search = MediaArtsDb::Comic::Search.new(option)
result = search.execute
# => 検索結果は、targetの設定により以下が返る
# - option.target_comicの場合、Comic(マンガ単行本情報)の配列が返る
# - option.target_magazineの場合、Magazine(マンガ雑誌情報)の配列が返る
# - option.target_materialの場合、Material(資料情報)の配列が返る
# - option.target_original_pictureの場合、OriginalPicture(マンガ原画情報)の配列が返る
# - option.target_bookletの場合、Booklet(その他冊子情報)の配列が返る

検索結果の取得

# 検索
search = MediaArtsDb::Comic::SearchWork.new('カードキャプター')
results = search.execute
# 値の取得
results.first.title
results.first[:title] # キーワードでも取得可能
# すべての値の取得
results.first.content # 詳細ページから全ての情報を取得して返す
results.first.content_cache # 検索結果で得られた情報のみを返す
# 結果のネスト
results.first.comic_titles[0].comics[0].published_date

個別要素の検索

# ComicWork(マンガ単行本作品情報)の詳細情報取得
finder = MediaArtsDb::Comic::FindComicWork.new(comic_work_id)
finder.execute
# ComicTitle(マンガ単行本全巻情報)の詳細情報取得
finder = MediaArtsDb::Comic::FindComicTitle.new(comic_title_id)
finder.execute
# Comic(マンガ単行本情報)の詳細情報取得
finder = MediaArtsDb::Comic::FindComic.new(comic_id)
finder.execute
# MagazineWork(マンガ雑誌作品情報)の詳細情報取得
finder = MediaArtsDb::Comic::FindMagazineWork.new(magazine_works_id)
finder.execute
# MagazineTitle(マンガ雑誌全巻情報)の詳細情報取得
finder = MediaArtsDb::Comic::FindMagazineTitle.new(magazine_titles_id)
finder.execute
# Magazine(マンガ雑誌情報)の詳細情報取得
finder = MediaArtsDb::Comic::FindMagazine.new(magazine_id)
finder.execute
# Author(著者情報)の詳細情報取得
finder = MediaArtsDb::Comic::FindAuthor.new(author_id)
finder.execute
# Material(資料情報)の詳細情報取得
finder = MediaArtsDb::Comic::FindMaterial.new(material_id)
finder.execute
# OriginalPicture(原画情報)の詳細情報取得
finder = MediaArtsDb::Comic::FindOriginalPicture.new(original_picture_id)
finder.execute
# Booklet(その他冊子情報)の詳細情報取得
finder = MediaArtsDb::Comic::FindBooklet.new(booklet_id)
finder.execute

Animation

Not implemented(未実装)

Game

Not implemented(未実装)

MediaArt

Not implemented(未実装)

Development

After checking out the repo, run bin/setup to install dependencies. Then, run bin/console for an interactive prompt that will allow you to experiment. Run bundle exec media_arts_db to use the code located in this directory, ignoring other installed copies of this gem.

To install this gem onto your local machine, run bundle exec rake install. To release a new version, update the version number in version.rb, and then run bundle exec rake release to create a git tag for the version, push git commits and tags, and push the .gem file to rubygems.org.

Contributing

  1. Fork it ( https://github.com/[my-github-username]/media_arts_db/fork )
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Add some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create a new Pull Request