nicoscraper 0.2.4 → 0.2.5
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.
- data/Gemfile +2 -1
- data/Gemfile.lock +3 -1
- data/README.md +152 -28
- data/VERSION +1 -1
- data/lib/classes/connector.rb +330 -0
- data/lib/classes/converter.rb +73 -0
- data/lib/classes/header.rb +9 -0
- data/lib/classes/movie.rb +521 -0
- data/lib/classes/mylist.rb +318 -0
- data/lib/classes/parser.rb +235 -0
- data/lib/classes/searcher.rb +248 -0
- data/lib/classes/tools.rb +15 -0
- data/lib/config/wait.rb +63 -0
- data/lib/nicoscraper.rb +31 -0
- data/test/movie_spec.rb +51 -3
- data/test/searcher_spec.rb +207 -0
- metadata +36 -22
- data/lib/connector.rb +0 -364
- data/lib/converter.rb +0 -72
- data/lib/movie.rb +0 -518
- data/lib/mylist.rb +0 -317
- data/lib/namespace.rb +0 -3
- data/lib/parser.rb +0 -234
- data/lib/searcher.rb +0 -243
- data/nicoscraper.gemspec +0 -72
@@ -0,0 +1,73 @@
|
|
1
|
+
# -*- encoding: utf-8 -*-
|
2
|
+
$:.unshift File.dirname(__FILE__)
|
3
|
+
|
4
|
+
require 'rubygems'
|
5
|
+
require 'xml'
|
6
|
+
require 'time'
|
7
|
+
|
8
|
+
module Nicos
|
9
|
+
module Converter
|
10
|
+
def iso8601ToUnix(str)
|
11
|
+
Time.strptime(str, "%Y-%m-%dT%H:%M:%S").to_i
|
12
|
+
end
|
13
|
+
module_function :iso8601ToUnix
|
14
|
+
|
15
|
+
def japToUnix(str)
|
16
|
+
str.gsub!(/年|月/, '-')
|
17
|
+
.gsub!(/日/, 'T')
|
18
|
+
.gsub!(/:/, ':')
|
19
|
+
.gsub!(/\s/, '')
|
20
|
+
iso8601ToUnix(str)
|
21
|
+
end
|
22
|
+
module_function :japToUnix
|
23
|
+
|
24
|
+
def toSeconds(lengthStr)
|
25
|
+
# lengthStr = "mm:ss"
|
26
|
+
lengthStr = lengthStr.split(/\:/)
|
27
|
+
lengthStr[0].to_i * 60 + lengthStr[1].to_i
|
28
|
+
end
|
29
|
+
module_function :toSeconds
|
30
|
+
|
31
|
+
def commaRemover(str)
|
32
|
+
str.gsub(/\,/, '').to_i
|
33
|
+
end
|
34
|
+
module_function :commaRemover
|
35
|
+
end
|
36
|
+
|
37
|
+
module Extractor
|
38
|
+
def mylistId(str)
|
39
|
+
/(mylist\/)([0-9]{1,})/ =~ str
|
40
|
+
$2.to_i
|
41
|
+
end
|
42
|
+
module_function :mylistId
|
43
|
+
|
44
|
+
def itemId(str)
|
45
|
+
/(watch\/)([0-9]{1,})/ =~ str
|
46
|
+
$2.to_i
|
47
|
+
end
|
48
|
+
module_function :itemId
|
49
|
+
|
50
|
+
def videoId(str)
|
51
|
+
/(http:\/\/www.nicovideo.jp\/watch\/)((sm|nm)[0-9]{1,})/ =~ str
|
52
|
+
$2
|
53
|
+
end
|
54
|
+
module_function :videoId
|
55
|
+
end
|
56
|
+
|
57
|
+
module Nicos::Unicode
|
58
|
+
def escape(str)
|
59
|
+
ary = str.unpack("U*").map!{|i| "\\u#{i.to_s(16)}"}
|
60
|
+
ary.join
|
61
|
+
end
|
62
|
+
|
63
|
+
UNESCAPE_WORKER_ARRAY = []
|
64
|
+
def unescape(str)
|
65
|
+
str.gsub(/\\u([0-9a-f]{4})/) {
|
66
|
+
UNESCAPE_WORKER_ARRAY[0] = $1.hex
|
67
|
+
UNESCAPE_WORKER_ARRAY.pack("U")
|
68
|
+
}
|
69
|
+
end
|
70
|
+
|
71
|
+
module_function :escape, :unescape
|
72
|
+
end
|
73
|
+
end
|
@@ -0,0 +1,521 @@
|
|
1
|
+
# -*- encoding: utf-8 -*-
|
2
|
+
$:.unshift File.dirname(__FILE__)
|
3
|
+
|
4
|
+
require 'rubygems'
|
5
|
+
require 'ruby-debug'
|
6
|
+
require 'damerau-levenshtein'
|
7
|
+
require 'kconv'
|
8
|
+
|
9
|
+
require 'parser.rb'
|
10
|
+
require 'mylist.rb'
|
11
|
+
require 'connector.rb'
|
12
|
+
|
13
|
+
|
14
|
+
module Nicos
|
15
|
+
class Movie
|
16
|
+
# @param [video_id] video_id 動画ID
|
17
|
+
# インスタンス作成直後は、情報を取得しメソッドを実行する準備が整ったことを示す
|
18
|
+
# @availableがfalseである。getInfo等で情報を取得するか、あるいはsetメソッドで
|
19
|
+
# availableにtrueを代入する必要がある。
|
20
|
+
def initialize(video_id)
|
21
|
+
@video_id = video_id
|
22
|
+
@available = false
|
23
|
+
end
|
24
|
+
|
25
|
+
public
|
26
|
+
|
27
|
+
# 指定されたマイリストに自分が入っていれば、真を返す。
|
28
|
+
#
|
29
|
+
# 内部的にMylist::getInfoを利用しているため、もし指定したマイリストの他の情報を使いたければ、
|
30
|
+
# ブロック中に処理を記述することで、getInfoの取得結果を共用することができる。
|
31
|
+
# @param [Fixnum] mylistId マイリストID
|
32
|
+
# @return [Boolean]
|
33
|
+
def isBelongsTo (mylistId, &block)
|
34
|
+
isBelongs = false
|
35
|
+
thisMl = Nicos::Mylist.new(mylistId)
|
36
|
+
thisMl.getInfo
|
37
|
+
|
38
|
+
thisMl.movies.each { |movie|
|
39
|
+
isBelongs = true if movie.video_id == @video_id
|
40
|
+
}
|
41
|
+
|
42
|
+
if isBelongs
|
43
|
+
puts "\sThis movie is found in mylist/" +
|
44
|
+
mylistId.to_s
|
45
|
+
else
|
46
|
+
puts "\sThis movie is not found in mylist/" +
|
47
|
+
mylistId.to_s
|
48
|
+
end
|
49
|
+
|
50
|
+
block.call(thisMl) if block != nil
|
51
|
+
isBelongs
|
52
|
+
end
|
53
|
+
|
54
|
+
# 自分が含まれる、投稿者の作ったシリーズとしてまとめているマイリストのIDを返す。
|
55
|
+
#
|
56
|
+
# isBelongsは指定されたマイリストとの関係を調べるが、isSeriesOfは動画説明文中のマイリストIDのみを用いる。
|
57
|
+
# @return [Fixnum] マイリストID
|
58
|
+
def isSeriesOf
|
59
|
+
if !@available then
|
60
|
+
puts "This movie object is not available."
|
61
|
+
return "failed"
|
62
|
+
end
|
63
|
+
|
64
|
+
puts
|
65
|
+
puts "Start to discern the seriality of..."
|
66
|
+
puts "\svideo_id:\s\s" + @video_id
|
67
|
+
puts "\stitle:\s\s\s\s\s" + @title
|
68
|
+
# extrMylist呼び出し
|
69
|
+
mylistIdAry = extrMylist
|
70
|
+
sMylistIdAry = []
|
71
|
+
mlObjAry = []
|
72
|
+
mylistId = nil
|
73
|
+
mylist = nil
|
74
|
+
similarity = 0.0
|
75
|
+
|
76
|
+
mylistIdAry.each { |_mylistId|
|
77
|
+
belongsTo = isBelongsTo(_mylistId) { |mylistObj|
|
78
|
+
similarity = mylistObj.getSimilarity
|
79
|
+
puts "\sSimilarity:\t" + similarity.to_s
|
80
|
+
}
|
81
|
+
puts belongsTo
|
82
|
+
if belongsTo && similarity > 0.7
|
83
|
+
puts "\s" + _mylistId.to_s + "\tis perecieved as series mylist."
|
84
|
+
sMylistIdAry.push(_mylistId)
|
85
|
+
end
|
86
|
+
}
|
87
|
+
|
88
|
+
sMylistIdAry.each { |mylistId|
|
89
|
+
mlObjAry.push( Nicos::Mylist.new(mylistId) )
|
90
|
+
}
|
91
|
+
|
92
|
+
puts "\sDiscern logic terminated."
|
93
|
+
mlObjAry
|
94
|
+
end
|
95
|
+
|
96
|
+
# 動画説明文中からマイリストIDを示す文字列を抽出し、配列として返す。
|
97
|
+
#
|
98
|
+
# @return [Array] マイリストIDを含む配列
|
99
|
+
def extrMylist
|
100
|
+
return if !@available
|
101
|
+
puts "Extracting mylistId from the description..."
|
102
|
+
|
103
|
+
mylistIdAry = []
|
104
|
+
extracted = @description.scan(/mylist\/[0-9]{1,8}/)
|
105
|
+
if extracted[0] != nil
|
106
|
+
extracted.each { |e|
|
107
|
+
id = e.scan(/[0-9]{1,8}/)[0]
|
108
|
+
mylistIdAry.push(id)
|
109
|
+
puts "\sID:\t" + id + " is extracted."
|
110
|
+
}
|
111
|
+
else
|
112
|
+
puts "\sMylistId is not found."
|
113
|
+
end
|
114
|
+
|
115
|
+
mylistIdAry
|
116
|
+
end
|
117
|
+
|
118
|
+
# 動画の詳細な情報を取得し、インスタンス変数に納める。
|
119
|
+
#
|
120
|
+
# 内部的にgetThumbInfo APIを利用。
|
121
|
+
# @return [Boolean] 成功すればtrueを返す。
|
122
|
+
def getInfo
|
123
|
+
con = Nicos::Connector::GetThumbInfo.new()
|
124
|
+
host = 'ext.nicovideo.jp'
|
125
|
+
entity = '/api/getthumbinfo/' + @video_id
|
126
|
+
result = con.get(host, entity)
|
127
|
+
|
128
|
+
if
|
129
|
+
result["order"] == "success"
|
130
|
+
then
|
131
|
+
parsed = Nicos::Parser::getThumbInfo(result["body"])
|
132
|
+
set(parsed)
|
133
|
+
@available = true
|
134
|
+
else
|
135
|
+
@available = false
|
136
|
+
end
|
137
|
+
end
|
138
|
+
|
139
|
+
# インスタンスに対し、任意の情報を入れる。
|
140
|
+
#
|
141
|
+
# @param [HashObj] paramObj getThumbInfo等から手に入れたハッシュ
|
142
|
+
# getInfo等を利用せずインスタンス変数に直接情報を入れる場合、もしgetThumbInfoやMylist APIからXMLやJSONで取得し、
|
143
|
+
# 特にキー名を変更していないハッシュオブジェクトがあるのであれば、setメソッドで一括代入することができる。
|
144
|
+
#
|
145
|
+
# なお、getThumbInfoや、マイリストAtomフィードなどの情報は、取得元になるXML等のタグ名が少しずつ異なるため、
|
146
|
+
# setメソッドに渡すべきハッシュオブジェクトのキー名は、必ずしもインスタンス変数の名前とは一致しない。
|
147
|
+
# 例えば、getThumbInfoは現在のコメント数をcomment_numというタグで示すが、
|
148
|
+
# マイリストのAtomフィードはnico-numbers-resというクラス名のタグで囲んでいる。
|
149
|
+
def set(paramObj)
|
150
|
+
paramObj.each_key { |key|
|
151
|
+
param = paramObj[key]
|
152
|
+
case key
|
153
|
+
when "available"
|
154
|
+
@available = param
|
155
|
+
|
156
|
+
# common
|
157
|
+
when "video_id"
|
158
|
+
@video_id = param.to_s
|
159
|
+
when "item_id"
|
160
|
+
@item_id = param.to_i
|
161
|
+
when "title"
|
162
|
+
@title = param.to_s
|
163
|
+
when "mylist_id"
|
164
|
+
@mylist_id = param.to_i
|
165
|
+
when "description"
|
166
|
+
@description = param.to_s
|
167
|
+
when "length"
|
168
|
+
@length = param.to_i
|
169
|
+
when "first_retrieve"
|
170
|
+
@first_retrieve = param
|
171
|
+
|
172
|
+
# MylistAPI 現在未実装
|
173
|
+
when "item_data"
|
174
|
+
paramObj['item_data'].each_key { |key|
|
175
|
+
param = paramObj['item_data'][key]
|
176
|
+
case key
|
177
|
+
when "video_id"
|
178
|
+
@video_id = param.to_s
|
179
|
+
when "title"
|
180
|
+
@title = param.to_s
|
181
|
+
when "thumbnail_url"
|
182
|
+
@thumbnail_url = param.to_s
|
183
|
+
when "first_retrieve"
|
184
|
+
@first_retrieve = param.to_i
|
185
|
+
when "update_time"
|
186
|
+
@update_time = param.to_i
|
187
|
+
when "view_counter"
|
188
|
+
@view_counter = param.to_i
|
189
|
+
when "mylist_counter"
|
190
|
+
@mylist_counter = param.to_i
|
191
|
+
when "num_res"
|
192
|
+
@comment_num = param.to_i
|
193
|
+
when "length_seconds"
|
194
|
+
@length = param.to_i
|
195
|
+
when "deleted"
|
196
|
+
@deleted = param.to_i
|
197
|
+
when "last_res_body"
|
198
|
+
@last_res_body = param.to_s
|
199
|
+
end
|
200
|
+
}
|
201
|
+
when "watch"
|
202
|
+
@watch = param.to_i
|
203
|
+
when "create_time"
|
204
|
+
@create_time = param.to_i
|
205
|
+
when "update_time"
|
206
|
+
@update_time = param.to_i
|
207
|
+
|
208
|
+
# Mylist-Atom
|
209
|
+
when "memo"
|
210
|
+
@memo = param.to_s
|
211
|
+
when "published"
|
212
|
+
@create_time = param.to_i
|
213
|
+
when "updated"
|
214
|
+
@update_time = param.to_i
|
215
|
+
when "view"
|
216
|
+
@view_counter = param.to_i
|
217
|
+
when "mylist"
|
218
|
+
@mylist_counter = param.to_i
|
219
|
+
when "res"
|
220
|
+
@comment_num = param.to_i
|
221
|
+
|
222
|
+
# getThumbInfo
|
223
|
+
when "thumbnail_url"
|
224
|
+
@thumbnail_url = param.to_s
|
225
|
+
when "movie_type"
|
226
|
+
@movie_type = param.to_s
|
227
|
+
when "size_high"
|
228
|
+
@size_high = param.to_i
|
229
|
+
when "size_low"
|
230
|
+
@size_low = param.to_i
|
231
|
+
when "view_counter"
|
232
|
+
@view_counter = param.to_i
|
233
|
+
when "mylist_counter"
|
234
|
+
@mylist_counter = param.to_i
|
235
|
+
when "comment_num"
|
236
|
+
@comment_num = param.to_i
|
237
|
+
when "last_res_body"
|
238
|
+
@last_res_body = param.to_s
|
239
|
+
when "watch_url"
|
240
|
+
@watch_url = param.to_s
|
241
|
+
when "thumb_type"
|
242
|
+
@thumb_type = param.to_s
|
243
|
+
when "embeddable"
|
244
|
+
@embeddable = param.to_i
|
245
|
+
when "no_live_play"
|
246
|
+
@no_live_play = param.to_i
|
247
|
+
when "tags_jp"
|
248
|
+
@tags_jp = param
|
249
|
+
when "tags_tw"
|
250
|
+
@tags_tw = param
|
251
|
+
when "tags_de"
|
252
|
+
@tags_de = param
|
253
|
+
when "tags_es"
|
254
|
+
@tags_sp = param
|
255
|
+
when "user_id"
|
256
|
+
@user_id = param.to_i
|
257
|
+
end
|
258
|
+
}
|
259
|
+
end
|
260
|
+
|
261
|
+
include Nicos::Connector::SetWait
|
262
|
+
|
263
|
+
# このインスタンスがgetInfo等によって正常に情報を取得できている場合、trueとなる。
|
264
|
+
# 各種メソッドの実行には、これがtrueであることが要求される。
|
265
|
+
#
|
266
|
+
# @return [Boolean]
|
267
|
+
attr_accessor :available
|
268
|
+
|
269
|
+
# MylistAPI
|
270
|
+
|
271
|
+
# 動画に付与される、sm|nmで始まる一意のID
|
272
|
+
#
|
273
|
+
# @return [String]
|
274
|
+
# <b>取得可能なメソッド</b>
|
275
|
+
# {Nicos::Movie#getInfo Movie::getInfo}
|
276
|
+
# {Nicos::Movie#getInfo Movie::getHtmlInfo}
|
277
|
+
# {Nicos::Movie#getInfo Mylist::getInfo}
|
278
|
+
# {Nicos::Movie#getInfo Mylist::getHtmlInfo}
|
279
|
+
attr_accessor :video_id
|
280
|
+
|
281
|
+
# この動画が属するマイリストのID
|
282
|
+
#
|
283
|
+
# @return [Fixnum]
|
284
|
+
# <b>取得可能なメソッド</b>
|
285
|
+
# {Nicos::Movie#getInfo Movie::getInfo}
|
286
|
+
# {Nicos::Movie#getInfo Movie::getHtmlInfo}
|
287
|
+
# {Nicos::Movie#getInfo Mylist::getInfo}
|
288
|
+
# {Nicos::Movie#getInfo Mylist::getHtmlInfo}
|
289
|
+
attr_accessor :mylist_id
|
290
|
+
|
291
|
+
# 動画に与えられるもう一つの一意なIDであり、投稿日時と同じか非常に近いUNIX時間になっている。
|
292
|
+
#
|
293
|
+
# 例えば、"【初音ミク】みくみくにしてあげる♪【してやんよ】"の動画IDはsm1097445であり、アイテムIDは1190218917である。このアイテムIDを日時に直すと、日本時間における2007年9月20日 1:21:57となるが、動画に投稿日時として表示されるのは、2007年9月20日 1:22:02である。
|
294
|
+
#
|
295
|
+
# @return [Fixnum]
|
296
|
+
# <b>取得可能なメソッド</b>
|
297
|
+
# {Nicos::Movie#getInfo Movie::getInfo}
|
298
|
+
# {Nicos::Movie#getInfo Movie::getHtmlInfo}
|
299
|
+
# {Nicos::Movie#getInfo Mylist::getInfo}
|
300
|
+
# {Nicos::Movie#getInfo Mylist::getHtmlInfo}
|
301
|
+
attr_accessor :item_id
|
302
|
+
|
303
|
+
# 投稿者が記述した動画の説明文
|
304
|
+
#
|
305
|
+
# @return [String]
|
306
|
+
# <b>取得可能なメソッド</b>
|
307
|
+
# {Nicos::Movie#getInfo Movie::getInfo}
|
308
|
+
# {Nicos::Movie#getInfo Movie::getHtmlInfo}
|
309
|
+
# {Nicos::Movie#getInfo Mylist::getInfo}
|
310
|
+
# {Nicos::Movie#getInfo Mylist::getHtmlInfo}
|
311
|
+
attr_accessor :description
|
312
|
+
|
313
|
+
# 動画のタイトル
|
314
|
+
#
|
315
|
+
# @return [String]
|
316
|
+
# <b>取得可能なメソッド</b>
|
317
|
+
# {Nicos::Movie#getInfo Movie::getInfo}
|
318
|
+
# {Nicos::Movie#getInfo Movie::getHtmlInfo}
|
319
|
+
# {Nicos::Movie#getInfo Mylist::getInfo}
|
320
|
+
# {Nicos::Movie#getInfo Mylist::getHtmlInfo}
|
321
|
+
attr_accessor :title
|
322
|
+
|
323
|
+
# サムネイルのURL
|
324
|
+
#
|
325
|
+
# @return [String]
|
326
|
+
# <b>取得可能なメソッド</b>
|
327
|
+
# {Nicos::Movie#getInfo Movie::getInfo}
|
328
|
+
# {Nicos::Movie#getInfo Movie::getHtmlInfo}
|
329
|
+
# {Nicos::Movie#getInfo Mylist::getInfo}
|
330
|
+
# {Nicos::Movie#getInfo Mylist::getHtmlInfo}
|
331
|
+
attr_accessor :thumbnail_url
|
332
|
+
|
333
|
+
# 動画の投稿日
|
334
|
+
#
|
335
|
+
# @return [Fixnum]
|
336
|
+
# <b>取得可能なメソッド</b>
|
337
|
+
# {Nicos::Movie#getInfo Movie::getInfo}
|
338
|
+
# {Nicos::Movie#getInfo Movie::getHtmlInfo}
|
339
|
+
# {Nicos::Movie#getInfo Mylist::getInfo}
|
340
|
+
# {Nicos::Movie#getInfo Mylist::getHtmlInfo}
|
341
|
+
attr_accessor :first_retrieve
|
342
|
+
|
343
|
+
# 取得時の再生数
|
344
|
+
#
|
345
|
+
# @return [Fixnum]
|
346
|
+
# <b>取得可能なメソッド</b>
|
347
|
+
# {Nicos::Movie#getInfo Movie::getInfo}
|
348
|
+
# {Nicos::Movie#getInfo Movie::getHtmlInfo}
|
349
|
+
# {Nicos::Movie#getInfo Mylist::getInfo}
|
350
|
+
# {Nicos::Movie#getInfo Mylist::getHtmlInfo}
|
351
|
+
attr_accessor :view_counter
|
352
|
+
|
353
|
+
# 取得時のマイリスト数
|
354
|
+
#
|
355
|
+
# @return [Fixnum]
|
356
|
+
# <b>取得可能なメソッド</b>
|
357
|
+
# {Nicos::Movie#getInfo Movie::getInfo}
|
358
|
+
# {Nicos::Movie#getInfo Movie::getHtmlInfo}
|
359
|
+
# {Nicos::Movie#getInfo Mylist::getInfo}
|
360
|
+
# {Nicos::Movie#getInfo Mylist::getHtmlInfo}
|
361
|
+
attr_accessor :mylist_counter
|
362
|
+
|
363
|
+
# 取得時のコメント数
|
364
|
+
#
|
365
|
+
# @return [Fixnum]
|
366
|
+
# <b>取得可能なメソッド</b>
|
367
|
+
# {Nicos::Movie#getInfo Movie::getInfo}
|
368
|
+
# {Nicos::Movie#getInfo Movie::getHtmlInfo}
|
369
|
+
# {Nicos::Movie#getInfo Mylist::getInfo}
|
370
|
+
# {Nicos::Movie#getInfo Mylist::getHtmlInfo}
|
371
|
+
attr_accessor :comment_num
|
372
|
+
|
373
|
+
# 動画の長さ(秒)
|
374
|
+
#
|
375
|
+
# @return [Fixnum]
|
376
|
+
# <b>取得可能なメソッド</b>
|
377
|
+
# {Nicos::Movie#getInfo Movie::getInfo}
|
378
|
+
# {Nicos::Movie#getInfo Movie::getHtmlInfo}
|
379
|
+
# {Nicos::Movie#getInfo Mylist::getInfo}
|
380
|
+
# {Nicos::Movie#getInfo Mylist::getHtmlInfo}
|
381
|
+
attr_accessor :length
|
382
|
+
|
383
|
+
# 削除されたかどうか。削除済みの場合は1、そうでなければ0。
|
384
|
+
#
|
385
|
+
# @return [Fixnum]
|
386
|
+
# <b>取得可能なメソッド</b>
|
387
|
+
# {Nicos::Movie#getInfo Movie::getInfo}
|
388
|
+
# {Nicos::Movie#getInfo Movie::getHtmlInfo}
|
389
|
+
# {Nicos::Movie#getInfo Mylist::getInfo}
|
390
|
+
# {Nicos::Movie#getInfo Mylist::getHtmlInfo}
|
391
|
+
attr_accessor :deleted
|
392
|
+
|
393
|
+
# 最新のコメント
|
394
|
+
#
|
395
|
+
# @return [String]
|
396
|
+
# <b>取得可能なメソッド</b>
|
397
|
+
# {Nicos::Movie#getInfo Movie::getInfo}
|
398
|
+
# {Nicos::Movie#getInfo Movie::getHtmlInfo}
|
399
|
+
# {Nicos::Movie#getInfo Mylist::getInfo}
|
400
|
+
# {Nicos::Movie#getInfo Mylist::getHtmlInfo}
|
401
|
+
attr_accessor :last_res_body
|
402
|
+
|
403
|
+
# ?
|
404
|
+
#
|
405
|
+
# @return [String]
|
406
|
+
# <b>取得可能なメソッド</b>
|
407
|
+
# {Nicos::Movie#getInfo Movie::getInfo}
|
408
|
+
# {Nicos::Movie#getInfo Movie::getHtmlInfo}
|
409
|
+
# {Nicos::Movie#getInfo Mylist::getInfo}
|
410
|
+
# {Nicos::Movie#getInfo Mylist::getHtmlInfo}
|
411
|
+
attr_accessor :watch
|
412
|
+
|
413
|
+
# 動画の投稿日に近いが、若干こちらの方が遅い。詳細不明。
|
414
|
+
#
|
415
|
+
# マイリストHTML中JSオブジェクトの"create_time"、マイリストAtomフィードにおける<published>に対応。
|
416
|
+
#
|
417
|
+
# @return [Fixnum]
|
418
|
+
# <b>取得可能なメソッド</b>
|
419
|
+
# {Nicos::Movie#getInfo Mylist::getInfo}
|
420
|
+
# {Nicos::Movie#getInfo Mylist::getHtmlInfo}
|
421
|
+
attr_accessor :create_time
|
422
|
+
|
423
|
+
# 動画の更新日?
|
424
|
+
#
|
425
|
+
# マイリストHTML中JSオブジェクトの"update_time"、マイリストAtomフィードにおける<updated>に対応。
|
426
|
+
#
|
427
|
+
# @return [Fixnum]
|
428
|
+
# <b>取得可能なメソッド</b>
|
429
|
+
# {Nicos::Movie#getInfo Mylist::getInfo}
|
430
|
+
# {Nicos::Movie#getInfo Mylist::getHtmlInfo}
|
431
|
+
attr_accessor :update_time
|
432
|
+
# MylistAPI-Atom
|
433
|
+
|
434
|
+
# マイリストの動画紹介欄に記載される説明文
|
435
|
+
#
|
436
|
+
# @return [String]
|
437
|
+
# <b>取得可能なメソッド</b>
|
438
|
+
# {Nicos::Movie#getInfo Movie::getInfo}
|
439
|
+
# {Nicos::Movie#getInfo Movie::getHtmlInfo}
|
440
|
+
# {Nicos::Movie#getInfo Mylist::getInfo}
|
441
|
+
# {Nicos::Movie#getInfo Mylist::getHtmlInfo}
|
442
|
+
attr_accessor :memo
|
443
|
+
|
444
|
+
|
445
|
+
# getThumbInfo
|
446
|
+
|
447
|
+
# 動画ファイルの種類。
|
448
|
+
#
|
449
|
+
# @return [String]
|
450
|
+
# <b>取得可能なメソッド</b>
|
451
|
+
# {Nicos::Movie#getInfo Movie::getInfo}
|
452
|
+
attr_accessor :movie_type
|
453
|
+
|
454
|
+
# 高画質時の動画サイズ?
|
455
|
+
#
|
456
|
+
# @return [Fixnum]
|
457
|
+
# <b>取得可能なメソッド</b>
|
458
|
+
# {Nicos::Movie#getInfo Movie::getInfo}
|
459
|
+
attr_accessor :size_high
|
460
|
+
|
461
|
+
# 低画質時の動画サイズ?
|
462
|
+
#
|
463
|
+
# @return [Fixnum]
|
464
|
+
# <b>取得可能なメソッド</b>
|
465
|
+
# {Nicos::Movie#getInfo Movie::getInfo}
|
466
|
+
attr_accessor :size_low
|
467
|
+
|
468
|
+
# 動画の閲覧URL
|
469
|
+
#
|
470
|
+
# @return [String]
|
471
|
+
# <b>取得可能なメソッド</b>
|
472
|
+
# {Nicos::Movie#getInfo Movie::getInfo}
|
473
|
+
attr_accessor :watch_url
|
474
|
+
|
475
|
+
# ?
|
476
|
+
#
|
477
|
+
# @return [String]
|
478
|
+
# <b>取得可能なメソッド</b>
|
479
|
+
# {Nicos::Movie#getInfo Movie::getInfo}
|
480
|
+
attr_accessor :thumb_type
|
481
|
+
|
482
|
+
# ブログ等に埋め込み、ログインなしでも閲覧できるかどうか。可能なら1。
|
483
|
+
#
|
484
|
+
# @return [Fixnum]
|
485
|
+
# <b>取得可能なメソッド</b>
|
486
|
+
# {Nicos::Movie#getInfo Movie::getInfo}
|
487
|
+
attr_accessor :embeddable
|
488
|
+
|
489
|
+
# ニコニコ生放送の拒否?
|
490
|
+
#
|
491
|
+
# @return [Fixnum]
|
492
|
+
# <b>取得可能なメソッド</b>
|
493
|
+
# {Nicos::Movie#getInfo Movie::getInfo}
|
494
|
+
# {Nicos::Movie#getInfo Movie::getHtmlInfo}
|
495
|
+
attr_accessor :no_live_play
|
496
|
+
|
497
|
+
# 日本語タグ
|
498
|
+
#
|
499
|
+
# @return [Array<String>]
|
500
|
+
# <b>取得可能なメソッド</b>
|
501
|
+
# {Nicos::Movie#getInfo Movie::getInfo}
|
502
|
+
# {Nicos::Movie#getInfo Movie::getHtmlInfo}
|
503
|
+
attr_accessor :tags_jp
|
504
|
+
|
505
|
+
# 台湾タグ
|
506
|
+
#
|
507
|
+
# @return [Array<String>]
|
508
|
+
# <b>取得可能なメソッド</b>
|
509
|
+
# {Nicos::Movie#getInfo Movie::getInfo}
|
510
|
+
attr_accessor :tags_tw
|
511
|
+
|
512
|
+
# ユーザID
|
513
|
+
#
|
514
|
+
# @return [Fixnum]
|
515
|
+
# <b>取得可能なメソッド</b>
|
516
|
+
# {Nicos::Movie#getInfo Movie::getInfo}
|
517
|
+
# {Nicos::Movie#getInfo Movie::getHtmlInfo}
|
518
|
+
attr_accessor :user_id
|
519
|
+
end
|
520
|
+
end
|
521
|
+
|