Можно ли через Google Таблицы подрубиться к IGDB/другому ресурсу с целью достать время на прохождение?

"Не смог управиться с Google Таблицами? И куда тебя это привело? Снова к нам" © Сообщество DTF

Можно ли через Google Таблицы подрубиться к IGDB/другому ресурсу с целью достать время на прохождение?

Добрый вечер, DTF. Решил тут наконец-то оформить бэклог нормально и выбрал для этой цели Google Таблицы. Всё прошло нормально, брат жив: немного самой нужной информации, простенькие формулы, отзывы через комментарии и 400+ записей.

 Как-то так пока выглядит вершина айсберга, над форматированием ещё буду работать<br />
 Как-то так пока выглядит вершина айсберга, над форматированием ещё буду работать

Но пришла идея заполнять столбец Time to beat не вручную (мы же не варвары, в конце концов). Однако я ничерта не понимаю в веб-технологиях и понятия не имею, как это провернуть ¯\_(ツ)_/¯ Нагуглил такую статью:

Но всё равно смотрю на неё, как козёл на новые ворота. Во-первых, какой ресурс лучше подойдёт для этого? Насколько я понял, HLTB не имеет публичного API. Его имеет IGDB, но там, вроде, какие-то ограничения на бесплатное использование (например, количество запросов в час, а у меня тут 400+ игр).

Во-вторых, как это всё реализуется? Может, кто-то уже имел дело конкретно с этими ресурсами?

В-третьих, наверняка подобные запросы будут использовать некие внутренние ID для каждой игры на конкретном ресурсе, у меня их нет, и вбивать их вручную совсем не хочется (ничем не отличается от ручного заполнения времени на прохождение с HLTB). Поэтому предпочтительнее способ, в котором могут быть задействованы строковые названия игр (а если строки не будут на 100% соответствовать, выдавался бы наиболее близкий результат).

Я понимаю, что я, скорее всего, больной, и больше никому такое в голову не приходило, но вдруг кто-то возился с этим и что-нибудь подскажет. Заранее спасибо, буду ждать хоть какие-нибудь крупицы информации!

сплинефх, ждёть​
сплинефх, ждёть​
88
21 комментарий

С ресурсами дело не имел, но с таблицами и API вообще ежедневно

1. В таблицах встроенный язык скриптов Google Scripts (по сути Javascript со вставками)
Добавляется в таблицу через Tools -> Script Editor меню

Небольшие задачи автоматизации я делаю через него, и там все ок

Запросы к внешним ресурсам делаются через UrlFetchApp
https://developers.google.com/apps-script/reference/url-fetch/url-fetch-app 

Но если из вышенаписанного мало чего понятно, я хуй знает, наверно нужно сначала основы программирования изучать, даже просто Google Scripts будет мало без основ (операции, переменные, циклы, массивы, как парсить Json)

2. ... но чуть более сложные вещи я предпочитаю кодить на чистом Python, забирать что надо с любых сайтов и вставлять в таблицы через библиотеку на Питоне

Самая нормальная библиотека для работы с таблицами вроде Google Sheets API v4, не путать с устаревшим gspread (хоть раньше и его хватало)

Гайдов много, например тут https://habr.com/ru/post/483302/

но там, вроде, какие-то ограничения на бесплатное использование (например, количество запросов в час, а у меня тут 400+ игр).

Не думаю что это проблема, тебе же не 24/7 нужно парсить базу? Подключился в рамках лимита, собрал данные и достаточно

В-третьих, наверняка подобные запросы будут использовать некие внутренние ID для каждой игры на конкретном ресурсе, у меня их нет

 Надо курить их API, там все будет расписано, какие запросы и какие ответы

5
Ответить

Для запросов побольше можно создать Sidebar. Там на чистом Javascript парсишь что нужно, формируешь как надо компактно и передаешь в таблицу. И там уже с помощью Google Script заполняешь ячейки. На самом деле в данном плане гугл особо не ограничивает по лимитам. У меня была проблема только тогда, когда несколько приложений стали работать с 1000+ таблиц. Тогда вразумил начальство, что надо бы отдельный сайт с базами данных реализовать и перенести бизнес-логику туда.

P.S. Прочитал не совсем так. Если есть лимиты на стороннем сервисе. Можно с помощью прокси этот момент обойти.

2
Ответить

Спасибо за развёрнутый ответ! Основы программирования я знаю, с Google-скриптами тоже имел дело, писал там несложные функции для табличек. С питоном не знаком совершенно, к сожалению. Ладно, буду курить дальше, почитаю про UrlFetchApp)

Ответить

У тебя есть GS (Google script). Это этакий обрубок JavaScript. На нем можешь написать приложение для своей таблицы, которое будет тащить данные и заполнять ячейки. Копай в эту сторону, если кайф заморочиться.

1
Ответить

Спасибо за ответ. Да, я писал на нём несложные функции для табличек. Ты предлагаешь работать без API, а просто вручную парсить информацию со страничек, я правильно понял? Например, с того же HowLongToBeat? Я просто не особо понимаю, как находить игры таким способом, потому что даже в адресе страничек используются внутренние айдишники. Например, для Uncharted 4 адрес странички – https://howlongtobeat.com/game?id=20077. Я хз, как узнать айдишник)

Ответить

Комментарий недоступен

1
Ответить

Согласен) Думал изначально, что это просто, но оказалось, что не особо

Ответить