KinopoiskAPI 0.8.2 → 0.9.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 +4 -4
- data/.gitignore +2 -0
- data/README.md +164 -190
- data/lib/KinopoiskAPI.rb +66 -26
- data/lib/KinopoiskAPI/agent.rb +207 -13
- data/lib/KinopoiskAPI/api_error.rb +21 -0
- data/lib/KinopoiskAPI/category.rb +31 -0
- data/lib/KinopoiskAPI/film.rb +69 -224
- data/lib/KinopoiskAPI/film_search.rb +53 -0
- data/lib/KinopoiskAPI/global_search.rb +12 -80
- data/lib/KinopoiskAPI/people.rb +61 -0
- data/lib/KinopoiskAPI/people_search.rb +53 -0
- data/lib/KinopoiskAPI/today.rb +47 -0
- data/lib/KinopoiskAPI/top.rb +41 -0
- data/lib/KinopoiskAPI/version.rb +1 -1
- metadata +12 -8
- data/lib/KinopoiskAPI/gallery.rb +0 -38
- data/lib/KinopoiskAPI/genres.rb +0 -29
- data/lib/KinopoiskAPI/reviews.rb +0 -66
- data/lib/KinopoiskAPI/similar.rb +0 -42
- data/lib/KinopoiskAPI/staff.rb +0 -53
- data/lib/KinopoiskAPI/today_films.rb +0 -42
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 179e576c676fab3f3b46e0b86693a8fe4b87613e
|
4
|
+
data.tar.gz: 21661aef4cd08b1a2f991a49c40529bd2f020fde
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 5daf562303b3e50047b44df0b41933894f005a6ea4b9c604de94e1c482862b3dde27580ea815531e4f5983b3d43d00d66d4df7f81210bce5794f31b8c54b2e87
|
7
|
+
data.tar.gz: e46bf93b44dc2fed91afe050a302ff07b710a50ea151ac37fc7a0ee27f452e0cd843de0a8ea38f3291a9bc388a4fd860e1ea0da7d3eddac681f42d5a8af7af0d
|
data/.gitignore
CHANGED
data/README.md
CHANGED
@@ -2,17 +2,16 @@
|
|
2
2
|
|
3
3
|
Этот gem создан для упрощения работы с КиноПоиск API в проектах Ruby on Rails.
|
4
4
|
|
5
|
-
Гем основан официальном API от кинопоиска. Используется не официально, прикидываясь андройдом.
|
6
|
-
Данный гем являеться форком проекта afuno/Kinopoisk-API-Gem, но т.к http://api.kinopoisk.cf/ не работает, то пришлось переделать для работы на прямую с кинопоиском.
|
5
|
+
Гем основан официальном API от кинопоиска. Используется не официально, прикидываясь андройдом. Данный гем являеться форком проекта afuno/Kinopoisk-API-Gem, но т.к http://api.kinopoisk.cf/ не работает, то пришлось переделать для работы на прямую с кинопоиском.
|
7
6
|
|
8
|
-
Используется версия api 3.11.0
|
7
|
+
Используется версия api 3.11.0 (планируется перевести на 5.0.0)
|
9
8
|
|
10
9
|
## Установка
|
11
10
|
|
12
11
|
Добавьте эту строку в Gemfile вашего приложения:
|
13
12
|
|
14
13
|
```ruby
|
15
|
-
gem 'KinopoiskAPI'
|
14
|
+
gem 'KinopoiskAPI'
|
16
15
|
```
|
17
16
|
|
18
17
|
Затем выполните:
|
@@ -22,261 +21,236 @@ gem 'KinopoiskAPI' , github: 'alpha-ver/Kinopoisk-API-Gem', branch: 'master'
|
|
22
21
|
|
23
22
|
## Использование
|
24
23
|
|
25
|
-
###
|
24
|
+
### Глабальные функции
|
26
25
|
|
27
26
|
```ruby
|
28
|
-
|
27
|
+
api = KinopoiskAPI::Class
|
29
28
|
```
|
29
|
+
|
30
30
|
```ruby
|
31
|
-
|
32
|
-
|
31
|
+
api.status
|
32
|
+
# > true [Полученна следующая станица]
|
33
|
+
# > false [Достигли конца пагинации]
|
33
34
|
```
|
35
|
+
|
34
36
|
```ruby
|
35
|
-
#
|
36
|
-
|
37
|
+
# Оригинальный хеш кинопоиска
|
38
|
+
api.data
|
37
39
|
```
|
40
|
+
|
38
41
|
```ruby
|
39
|
-
#
|
40
|
-
|
42
|
+
# Оригинальный хеш кинопоиска (используется в некоторых классах для дополнительного запроса).
|
43
|
+
# Пример: __film.peoples_full__)
|
44
|
+
api.data2
|
41
45
|
```
|
42
46
|
|
43
|
-
Доступен вывод следующей информации:
|
44
|
-
|
45
|
-
* **id** - КиноПоиск ID
|
46
|
-
* **url** - URL адрес страницы на КиноПоиск
|
47
|
-
* **title** - Названия:
|
48
|
-
* **ru** - На русском
|
49
|
-
* **en** - На английском
|
50
|
-
* **slogan** - Слоган
|
51
|
-
* **description** - Описание
|
52
|
-
* **poster** - Полный адрес на постер (в формате JPG)
|
53
|
-
* **year** - Год выхода
|
54
|
-
* **kinopoisk** - Массив следующих данных для КиноПоиск:
|
55
|
-
* **rating** - Рейтинг
|
56
|
-
* **quantity** - Количество оценивших
|
57
|
-
* **good_reviews_in_percentage** - Количество положительных рецензий в процентах
|
58
|
-
* **number_of_good_reviews** - Количество положительных рецензий
|
59
|
-
* **waiting_in_percentage** - Количество ожидающих в процентах
|
60
|
-
* **number_of_waiting** - Количество ожидающих
|
61
|
-
* **film_critics_in_percentage** - Положительны рейтинг критиков в мире в процентах
|
62
|
-
* **film_critics** - Количество положительных оценок критиков в мире
|
63
|
-
* **rf_critics_in_percentage** - Положительны рейтинг критиков в РФ в процентах
|
64
|
-
* **rf_critics** - Количество положительных оценок критиков в РФ
|
65
|
-
* **imdb** - Массив следующих данных для IMDb:
|
66
|
-
* **id** - IMDb ID
|
67
|
-
* **rating** - Рейтинг
|
68
|
-
* **quantity** - Количество оценивших
|
69
|
-
* **number_of_reviews** - Количество рецензий
|
70
|
-
* **duration** - Продолжительность фильма
|
71
|
-
* **countries** - Массив со странами
|
72
|
-
* **genres** - Массив с жанрами
|
73
|
-
* **video** - Полный адрес на трейлер
|
74
|
-
* **is_sequel_or_prequel** - Имеет ли сиквелы или приквелы
|
75
|
-
* **is_similar_films** - Имеет ли родственные фильмы
|
76
|
-
* **is_imax** - Есть ли IMAX
|
77
|
-
* **is_3d** - Есть ли 3D
|
78
|
-
* **rating_mpaa** - Рейтинг MPAA
|
79
|
-
* **minimal_age** - Минимальный рекомендуемый возраст
|
80
|
-
* **premiere** - Массив данных о премьере:
|
81
|
-
* **ru** - Дата премьеры в РФ
|
82
|
-
* **world** - Дата премьеры в мире
|
83
|
-
* **world_country** - Страна премьеры
|
84
|
-
* **status** - Проверка полученного JSON (true или false)
|
85
47
|
|
86
|
-
|
48
|
+
```ruby
|
49
|
+
# Статус парсинга json
|
50
|
+
# Boolean
|
51
|
+
api.status
|
52
|
+
```
|
87
53
|
|
88
54
|
```ruby
|
89
|
-
|
55
|
+
# Статус парсинга json дополнительного запроса.
|
56
|
+
# Boolean
|
57
|
+
api.status2
|
90
58
|
```
|
59
|
+
|
60
|
+
### Исключения
|
61
|
+
|
62
|
+
При ошибке выбасывается исключение __KinopoiskAPI::APIerror__. Доступные методы.
|
63
|
+
|
91
64
|
```ruby
|
92
|
-
#
|
93
|
-
|
65
|
+
# http код ответа
|
66
|
+
e.code
|
67
|
+
=> "404"
|
94
68
|
```
|
69
|
+
|
95
70
|
```ruby
|
96
|
-
#
|
97
|
-
|
71
|
+
# Тело ответа
|
72
|
+
e.body
|
73
|
+
=> [key:false]
|
98
74
|
```
|
99
75
|
|
100
|
-
Доступен вывод следующей информации:
|
101
76
|
|
102
|
-
|
103
|
-
|
104
|
-
|
105
|
-
* **ru** - На русском
|
106
|
-
* **en** - На английском
|
107
|
-
* **poster** - Полный адрес на постер (в формате JPG)
|
108
|
-
* **profession** - Профессия на русском (актер, режиссер и т. д.)
|
109
|
-
* **status** - Проверка полученного JSON (true или false)
|
77
|
+
## Классы
|
78
|
+
|
79
|
+
### Фильм
|
110
80
|
|
111
|
-
|
81
|
+
```ruby
|
82
|
+
film = KinopoiskAPI::Film.new(film_id)
|
83
|
+
```
|
112
84
|
|
113
85
|
```ruby
|
114
|
-
|
86
|
+
# Вся информация о фильме(включая rating, rent, budget).
|
87
|
+
film.view
|
115
88
|
```
|
116
89
|
```ruby
|
117
|
-
#
|
118
|
-
|
90
|
+
# Рейтинги фильма и т.д.
|
91
|
+
film.rating
|
119
92
|
```
|
120
93
|
```ruby
|
121
|
-
#
|
122
|
-
|
94
|
+
# Даты премьер и т.д.
|
95
|
+
film.rent
|
123
96
|
```
|
124
97
|
|
125
|
-
|
98
|
+
```ruby
|
99
|
+
# Бюджет и сборы.
|
100
|
+
film.budget
|
101
|
+
```
|
126
102
|
|
127
|
-
|
128
|
-
|
129
|
-
|
103
|
+
```ruby
|
104
|
+
# Люди связанные с фильмом(Не полный список, смотрите ниже).
|
105
|
+
film.peoples
|
106
|
+
```
|
130
107
|
|
131
|
-
|
108
|
+
```ruby
|
109
|
+
# Люди связанные с фильмом(Полный список). Генерирует новый запрос к API.
|
110
|
+
film.peoples_full
|
111
|
+
```
|
112
|
+
|
113
|
+
|
114
|
+
### Люди(Режисеры, актеры, операторы и т.д.).
|
115
|
+
|
116
|
+
```ruby
|
117
|
+
people = KinopoiskAPI::People.new(people_id)
|
118
|
+
```
|
132
119
|
|
133
120
|
```ruby
|
134
|
-
|
121
|
+
# Детальная информация о человеке.
|
122
|
+
people.view
|
135
123
|
```
|
124
|
+
|
136
125
|
```ruby
|
137
|
-
#
|
138
|
-
|
126
|
+
# Фильмы связанные с конкретным человеком.
|
127
|
+
people.films
|
139
128
|
```
|
140
129
|
|
141
|
-
|
130
|
+
```ruby
|
131
|
+
# Массив id фильмов связанных с конкретным человеком.
|
132
|
+
people.films_ids
|
133
|
+
```
|
142
134
|
|
143
|
-
* **title** - Названия:
|
144
|
-
* **ru** - На русском
|
145
|
-
* **en** - На английском
|
146
|
-
* **year** - Год выхода
|
147
|
-
* **rating** - Рейтинг
|
148
|
-
* **number_of_rated** - Количество оценивших
|
149
|
-
* **poster** - Полный адрес на постер (в формате JPG)
|
150
|
-
* **duration** - Продолжительность фильма
|
151
|
-
* **countries** - Массив со странами
|
152
|
-
* **genres** - Массив с жанрами
|
153
|
-
* **status** - Проверка полученного JSON (true или false)
|
154
135
|
|
155
|
-
###
|
136
|
+
### Категории
|
156
137
|
|
157
138
|
```ruby
|
158
|
-
|
139
|
+
category = KinopoiskAPI::Category.new
|
159
140
|
```
|
141
|
+
|
160
142
|
```ruby
|
161
|
-
#
|
162
|
-
|
143
|
+
# Страны
|
144
|
+
category.countries
|
163
145
|
```
|
164
146
|
|
165
|
-
|
147
|
+
```ruby
|
148
|
+
# Жанры
|
149
|
+
category.genres
|
150
|
+
```
|
166
151
|
|
167
|
-
* **id** - Идентификатор жанра на сайте КиноПоиск
|
168
|
-
* **name** - Жанр на русском
|
169
|
-
* **status** - Проверка полученного JSON (true или false)
|
170
152
|
|
171
153
|
### Сегодня в кино
|
172
154
|
|
173
155
|
```ruby
|
174
156
|
today = KinopoiskAPI::TodayFilms.new
|
175
157
|
```
|
158
|
+
|
176
159
|
```ruby
|
177
160
|
# Список фильмов
|
178
|
-
today.
|
161
|
+
today.view
|
162
|
+
```
|
163
|
+
|
164
|
+
```ruby
|
165
|
+
# Массив id фильмов
|
166
|
+
today.film_ids
|
167
|
+
```
|
168
|
+
|
169
|
+
### Глобальный поиск
|
170
|
+
|
171
|
+
```ruby
|
172
|
+
search = KinopoiskAPI::GlobalSearch.new('Q')
|
173
|
+
```
|
174
|
+
```ruby
|
175
|
+
# Скорее всего вы искали этот фильм
|
176
|
+
search.exactly
|
177
|
+
```
|
178
|
+
```ruby
|
179
|
+
# Возможно, вы искали эти фильмы
|
180
|
+
search.maybe
|
181
|
+
```
|
182
|
+
```ruby
|
183
|
+
# Или даже этих людей
|
184
|
+
search.peoples
|
179
185
|
```
|
180
186
|
|
181
|
-
Доступен вывод следующей информации:
|
182
187
|
|
183
|
-
|
184
|
-
* **status** - Проверка полученного JSON (true или false)
|
188
|
+
### Поиск по фильмам
|
185
189
|
|
190
|
+
```ruby
|
191
|
+
search = KinopoiskAPI::FilmSearch.new('Q')
|
192
|
+
```
|
186
193
|
|
194
|
+
```ruby
|
195
|
+
# Список фильмов (не более 20)
|
196
|
+
search.view
|
197
|
+
```
|
187
198
|
|
199
|
+
```ruby
|
200
|
+
# Колличество найденных фильмов
|
201
|
+
search.films_count
|
202
|
+
```
|
188
203
|
|
189
|
-
|
204
|
+
```ruby
|
205
|
+
# Текущая страница
|
206
|
+
search.current_page
|
207
|
+
```
|
190
208
|
|
191
209
|
```ruby
|
192
|
-
|
210
|
+
# Колличество страниц
|
211
|
+
search.page_count
|
193
212
|
```
|
213
|
+
|
194
214
|
```ruby
|
195
|
-
#
|
196
|
-
|
215
|
+
# Следующая страница
|
216
|
+
search.next_page
|
217
|
+
# > true [Полученна следующая станица]
|
218
|
+
# > false [Достигли конца пагинации]
|
197
219
|
```
|
220
|
+
|
221
|
+
|
222
|
+
### Поиск по людям
|
223
|
+
|
198
224
|
```ruby
|
199
|
-
|
200
|
-
|
225
|
+
search = KinopoiskAPI::PeopleSearch.new('Q')
|
226
|
+
```
|
227
|
+
|
228
|
+
```ruby
|
229
|
+
# Список людей (не более 20)
|
230
|
+
search.view
|
201
231
|
```
|
232
|
+
|
202
233
|
```ruby
|
203
|
-
#
|
204
|
-
|
205
|
-
```
|
206
|
-
|
207
|
-
|
208
|
-
|
209
|
-
|
210
|
-
|
211
|
-
|
212
|
-
|
213
|
-
|
214
|
-
|
215
|
-
|
216
|
-
|
217
|
-
|
218
|
-
|
219
|
-
|
220
|
-
|
221
|
-
|
222
|
-
|
223
|
-
* **number_of_rated** - Количество оценивших
|
224
|
-
* **poster** - Полный адрес на постер (в формате JPG)
|
225
|
-
* **maybe** - Список фильмов, которые также подходят под запрос:
|
226
|
-
* **title** - Названия:
|
227
|
-
* **ru** - На русском
|
228
|
-
* **en** - На английском
|
229
|
-
* **info** - Краткая информация
|
230
|
-
* **duration** - Продолжительность фильма
|
231
|
-
* **year** - Год выхода
|
232
|
-
* **countries** - Массив со странами
|
233
|
-
* **genres** - Массив с жанрами
|
234
|
-
* **rating** - Рейтинг
|
235
|
-
* **number_of_rated** - Количество оценивших
|
236
|
-
* **poster** - Полный адрес на постер (в формате JPG)
|
237
|
-
* **names** - Список имен, которые также подходят под запрос:
|
238
|
-
* **full_name** - Имена:
|
239
|
-
* **ru** - На русском
|
240
|
-
* **en** - На английском
|
241
|
-
* **info** - Краткая информация
|
242
|
-
* **poster** - Полный адрес на постер (в формате JPG)
|
243
|
-
* **status** - Проверка полученного JSON (true или false)
|
244
|
-
|
245
|
-
### Рецензии
|
246
|
-
|
247
|
-
```ruby
|
248
|
-
reviews = KinopoiskAPI::Reviews.new(733493)
|
249
|
-
```
|
250
|
-
```ruby
|
251
|
-
# Количество рецензий
|
252
|
-
reviews.quantity[:reviews]
|
253
|
-
```
|
254
|
-
```ruby
|
255
|
-
# Рецензии
|
256
|
-
reviews.reviews
|
257
|
-
```
|
258
|
-
|
259
|
-
Доступен вывод следующей информации:
|
260
|
-
|
261
|
-
* **all** - Полный массив данных
|
262
|
-
* **pages** - Количество страниц
|
263
|
-
* **page** - Текущая страница
|
264
|
-
* **quantity** - Массив следующих данных:
|
265
|
-
* **reviews** - Количество рецензий
|
266
|
-
* **good_reviews** - Количество положительных рецензий
|
267
|
-
* **good_reviews_in_percent** - Количество положительных рецензий в процентах
|
268
|
-
* **bad_reviews** - Количество отризательных рецензий
|
269
|
-
* **neutral_reviews** - Количество нейтральных рецензий
|
270
|
-
* **reviews** - Список рецензий:
|
271
|
-
* **id** - Идентификатор на КиноПоиск
|
272
|
-
* **type** - Тип: положительный, негативный или нейтральный
|
273
|
-
* **data** - Дата и время публикации
|
274
|
-
* **author** - Массив данных об авторе:
|
275
|
-
* **name** - Имя (или никнейм) автора рецензии
|
276
|
-
* **avatar** - Полный адрес на аватар (в формате JPG)
|
277
|
-
* **title** - Заголовок
|
278
|
-
* **description** - Описание
|
279
|
-
* **status** - Проверка полученного JSON (true или false)
|
234
|
+
# Колличество найденных фильмов
|
235
|
+
search.peoples_count
|
236
|
+
```
|
237
|
+
|
238
|
+
```ruby
|
239
|
+
# Текущая страница
|
240
|
+
search.current_page
|
241
|
+
```
|
242
|
+
|
243
|
+
```ruby
|
244
|
+
# Колличество страниц
|
245
|
+
search.page_count
|
246
|
+
```
|
247
|
+
|
248
|
+
```ruby
|
249
|
+
# Следующая страница
|
250
|
+
search.next_page
|
251
|
+
# > true [Полученна следующая станица]
|
252
|
+
# > false [Достигли конца пагинации]
|
253
|
+
```
|
280
254
|
|
281
255
|
## License
|
282
256
|
|