maimailog 0.0.1 → 0.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 6a4121923591a09603eb4baa4e7ff5ab597f385e
4
- data.tar.gz: d5c20934a7c64e68a5b9b16e115699eb580ac05c
3
+ metadata.gz: 5d948843f76ae075112c6549a948fd49089270ad
4
+ data.tar.gz: e0e70d2ca5e8b514135244dbfd472e66719ea4e4
5
5
  SHA512:
6
- metadata.gz: 85f671cf4f35f70694c90b2fa9da802a2f02ccc53bbb4d467c3694da48e9c5a0537fc5f4c63fd98a6475699e1269f684a89875765bf80610652df2d174f8d9d4
7
- data.tar.gz: b498e23e5718764fb851cba758eb1bd647865a5767be2f0c432d1aad9fc2eb5ae514ed2a025e3a0c9e6daf5c88b15086505d42ca8549535568d4da8aa890450a
6
+ metadata.gz: 51599d299ba7e3bda4144b7ab5e3a05ba68fb470b6de2bcfd4fde11798daeadfd99846a293ebf9979c54cb94c0621a9fae2fc5ac547930a7dad1c78be6e8246f
7
+ data.tar.gz: d838dbea125de0f018fa0947821ce1ac6160ed0ca03ac82d8235d948b173503919bfeffd62b90b3b2d5b29ad34106278a8f57c00c69b94701491d7da1da8ef12
@@ -3,6 +3,7 @@ require 'date'
3
3
  require 'maimailog/version'
4
4
  require 'maimailog/data/status'
5
5
  require 'maimailog/data/detail'
6
+ require 'maimailog/crawler/error'
6
7
  require 'maimailog/crawler/base'
7
8
  require 'maimailog/crawler/status'
8
9
  require 'maimailog/crawler/history'
@@ -0,0 +1,7 @@
1
+ module Maimailog
2
+ module Crawler
3
+
4
+ class DataNotFoundError < StandardError; end
5
+
6
+ end
7
+ end
@@ -78,7 +78,9 @@ module Maimailog
78
78
  end
79
79
  page = @agent.get("https://maimai-net.com/maimai-mobile/results.html?p=#{page_num}&#{page.uri.query[/sid=[\w]+/]}")
80
80
 
81
- page.search('//div[@id="accordion"]/ul/li//a').each do |elm|
81
+ links = page.search('//div[@id="accordion"]/ul/li//a')
82
+ raise DataNotFoundError.new('maimai play data not found') if links.size == 0
83
+ links.each do |elm|
82
84
  data = convert_data(@agent.get(elm[:href]))
83
85
  sleep(@sleep_duration)
84
86
  yield data
@@ -88,8 +90,11 @@ module Maimailog
88
90
  # プレイ履歴を最初から最後まで順番に取得していく
89
91
  def fetch_all(&block)
90
92
  0.upto(9999) do |page_num|
91
- data = fetch(page_num, &block)
92
- break if data.size == 0
93
+ begin
94
+ fetch(page_num, &block)
95
+ rescue DataNotFoundError
96
+ break
97
+ end
93
98
  end
94
99
  end
95
100
  end
@@ -1,3 +1,3 @@
1
1
  module Maimailog
2
- VERSION = "0.0.1"
2
+ VERSION = "0.0.2"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: maimailog
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 0.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - utahta
@@ -66,6 +66,7 @@ files:
66
66
  - Rakefile
67
67
  - lib/maimailog.rb
68
68
  - lib/maimailog/crawler/base.rb
69
+ - lib/maimailog/crawler/error.rb
69
70
  - lib/maimailog/crawler/history.rb
70
71
  - lib/maimailog/crawler/status.rb
71
72
  - lib/maimailog/data/detail.rb