npb_api 0.0.0
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 +7 -0
- data/lib/npb_api/game.rb +72 -0
- data/lib/npb_api.rb +6 -0
- metadata +87 -0
checksums.yaml
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
---
|
|
2
|
+
SHA1:
|
|
3
|
+
metadata.gz: 1edf1f518b34e6e2784da3b144d9e446ed572e05
|
|
4
|
+
data.tar.gz: 6b7a548373ce03aa220cf055cc38002417892ff0
|
|
5
|
+
SHA512:
|
|
6
|
+
metadata.gz: 4083201f47771bbc6f6707ceff92319a83b84cdffe183499e937db6f4061bc00723759eee1c7a314dd58a1a707110e148cb610073abc584079750ad996be9f8f
|
|
7
|
+
data.tar.gz: 555e5389a32740a3633bec4d6cd51ac9028459cb60077c98b80c847390b12dadd86fb84b7971e5228c6488b31e56c3847ea23634e9faf15d682faa258162c70f
|
data/lib/npb_api/game.rb
ADDED
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
class NpbApi::Game
|
|
2
|
+
def self.all(date: '')
|
|
3
|
+
('01'..'06').to_a.each_with_object([]) do |id, arr|
|
|
4
|
+
begin
|
|
5
|
+
arr << new(date: date, id: id)
|
|
6
|
+
rescue OpenURI::HTTPError
|
|
7
|
+
next
|
|
8
|
+
end
|
|
9
|
+
end
|
|
10
|
+
end
|
|
11
|
+
|
|
12
|
+
def initialize(date: '', id: '')
|
|
13
|
+
@date = date
|
|
14
|
+
game_id = date.year.to_s + format('%02d', date.month) + format('%02d', date.day) + id
|
|
15
|
+
@doc = Nokogiri::HTML(open("http://baseball.yahoo.co.jp/npb/game/#{game_id}/top"))
|
|
16
|
+
end
|
|
17
|
+
|
|
18
|
+
def status
|
|
19
|
+
@doc.css('.column-center em').text
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
def away
|
|
23
|
+
@doc.css('.column-right.clearfix i').text
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
def away_score
|
|
27
|
+
return nil if status == '試合前中止'
|
|
28
|
+
@doc.css('tr#tb1 td.sum').text.to_i
|
|
29
|
+
end
|
|
30
|
+
|
|
31
|
+
def away_result
|
|
32
|
+
return nil if status.include?('中止')
|
|
33
|
+
|
|
34
|
+
if away_score > home_score
|
|
35
|
+
'win'
|
|
36
|
+
elsif away_score < home_score
|
|
37
|
+
'lose'
|
|
38
|
+
else
|
|
39
|
+
'draw'
|
|
40
|
+
end
|
|
41
|
+
end
|
|
42
|
+
|
|
43
|
+
def home
|
|
44
|
+
@doc.css('.column-left.clearfix i').text
|
|
45
|
+
end
|
|
46
|
+
|
|
47
|
+
def home_score
|
|
48
|
+
return nil if status == '試合前中止'
|
|
49
|
+
@doc.css('tr#tb2 td.sum').text.to_i
|
|
50
|
+
end
|
|
51
|
+
|
|
52
|
+
def home_result
|
|
53
|
+
return nil if status.include?('中止')
|
|
54
|
+
|
|
55
|
+
if home_score > away_score
|
|
56
|
+
'win'
|
|
57
|
+
elsif home_score < away_score
|
|
58
|
+
'lose'
|
|
59
|
+
else
|
|
60
|
+
'draw'
|
|
61
|
+
end
|
|
62
|
+
end
|
|
63
|
+
|
|
64
|
+
def datetime
|
|
65
|
+
hour, minute = @doc.css('p.stadium').children[2].text.split(':').map(&:to_i)
|
|
66
|
+
DateTime.new(@date.year, @date.month, @date.day, hour, minute)
|
|
67
|
+
end
|
|
68
|
+
|
|
69
|
+
def ballpark
|
|
70
|
+
@doc.css('p.stadium').children[0].text.strip
|
|
71
|
+
end
|
|
72
|
+
end
|
data/lib/npb_api.rb
ADDED
metadata
ADDED
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
|
2
|
+
name: npb_api
|
|
3
|
+
version: !ruby/object:Gem::Version
|
|
4
|
+
version: 0.0.0
|
|
5
|
+
platform: ruby
|
|
6
|
+
authors:
|
|
7
|
+
- Ohtsuka Takahiro
|
|
8
|
+
autorequire:
|
|
9
|
+
bindir: bin
|
|
10
|
+
cert_chain: []
|
|
11
|
+
date: 2016-05-21 00:00:00.000000000 Z
|
|
12
|
+
dependencies:
|
|
13
|
+
- !ruby/object:Gem::Dependency
|
|
14
|
+
name: table_extraction
|
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
|
16
|
+
requirements:
|
|
17
|
+
- - "~>"
|
|
18
|
+
- !ruby/object:Gem::Version
|
|
19
|
+
version: '0'
|
|
20
|
+
type: :runtime
|
|
21
|
+
prerelease: false
|
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
23
|
+
requirements:
|
|
24
|
+
- - "~>"
|
|
25
|
+
- !ruby/object:Gem::Version
|
|
26
|
+
version: '0'
|
|
27
|
+
- !ruby/object:Gem::Dependency
|
|
28
|
+
name: rake
|
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
|
30
|
+
requirements:
|
|
31
|
+
- - "~>"
|
|
32
|
+
- !ruby/object:Gem::Version
|
|
33
|
+
version: '11'
|
|
34
|
+
type: :development
|
|
35
|
+
prerelease: false
|
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
37
|
+
requirements:
|
|
38
|
+
- - "~>"
|
|
39
|
+
- !ruby/object:Gem::Version
|
|
40
|
+
version: '11'
|
|
41
|
+
- !ruby/object:Gem::Dependency
|
|
42
|
+
name: minitest
|
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
|
44
|
+
requirements:
|
|
45
|
+
- - "~>"
|
|
46
|
+
- !ruby/object:Gem::Version
|
|
47
|
+
version: '5'
|
|
48
|
+
type: :development
|
|
49
|
+
prerelease: false
|
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
51
|
+
requirements:
|
|
52
|
+
- - "~>"
|
|
53
|
+
- !ruby/object:Gem::Version
|
|
54
|
+
version: '5'
|
|
55
|
+
description: npbのデータを取得する
|
|
56
|
+
email: t.o.0526@gmail.com
|
|
57
|
+
executables: []
|
|
58
|
+
extensions: []
|
|
59
|
+
extra_rdoc_files: []
|
|
60
|
+
files:
|
|
61
|
+
- lib/npb_api.rb
|
|
62
|
+
- lib/npb_api/game.rb
|
|
63
|
+
homepage: https://github.com/to0526/npb_api
|
|
64
|
+
licenses:
|
|
65
|
+
- MIT
|
|
66
|
+
metadata: {}
|
|
67
|
+
post_install_message:
|
|
68
|
+
rdoc_options: []
|
|
69
|
+
require_paths:
|
|
70
|
+
- lib
|
|
71
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
|
72
|
+
requirements:
|
|
73
|
+
- - ">="
|
|
74
|
+
- !ruby/object:Gem::Version
|
|
75
|
+
version: '0'
|
|
76
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
77
|
+
requirements:
|
|
78
|
+
- - ">="
|
|
79
|
+
- !ruby/object:Gem::Version
|
|
80
|
+
version: '0'
|
|
81
|
+
requirements: []
|
|
82
|
+
rubyforge_project:
|
|
83
|
+
rubygems_version: 2.5.1
|
|
84
|
+
signing_key:
|
|
85
|
+
specification_version: 4
|
|
86
|
+
summary: npbのデータを取得する
|
|
87
|
+
test_files: []
|