MediaArtsDb
media_arts_db is RubyGem to scraping to the MediaArtsDataBase(メディア芸術データベース: http://mediaarts-db.jp/).
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()
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
- Fork it ( https://github.com/[my-github-username]/media_arts_db/fork )
- Create your feature branch (
git checkout -b my-new-feature
) - Commit your changes (
git commit -am 'Add some feature'
) - Push to the branch (
git push origin my-new-feature
) - Create a new Pull Request